In a time where trust and transparency hold paramount importance, blockchain emerges as a powerful solution, enabling a fundamental transformation in financial data management. Reeve, also known as Ledger on the Blockchain (LOB), empowers organizations to securely record and share critical financial data on the Cardano blockchain, ensuring its integrity and verifiability for all stakeholders.
The Reeve platform is designed to integrate traditional accounting systems with blockchain technology, ensuring transparency, immutability, and enhanced security for financial records. By leveraging the Cardano blockchain, the platform offers a decentralized approach to financial data management, facilitating trust and efficiency in accounting processes.
Learn more about Reeve: Reeve - Ledger on the Blockchain
This application is an implementation of the cf-reeve-platform. Please find all further information in this repository.
This repository provides the needed configuration to start the whole application stack and use the Reeve platform.
To start the whole application stack you need to run the following command in this repository root:
docker compose --profile frontend up -d --build
The --build
flag is optional and is used to rebuild the images if you have made changes to the Dockerfiles.
This will start the following services:
cf-lob-frontend
: The frontend applicationcf-lob-api
: The modulesaccounting_core
andorganisation
of the cf-lob-platformcf-lob-publisher
: The moduleblockchain_publisher
,erp_adapter
andblockchain_reader
of the cf-lob-platformcf-ledger-follower
: The submoduleledger_follower
of the cf-lob-platform connected to ayaci-devkit
postgres
: The database used by the cf-lob-platformyaci-devkit
: The Yaci DevKit used by thecf-ledger-follower
to follow the ledger, a single node cardano dev blockchainyaci-viewer
: The frontend to access the Yaci DevKit like an explorerkeycloak
: The identity provider used by the cf-lob-platformkafka
: The message broker used by the cf-lob-platformzookeeper
: The coordination service used by the message broker
Start the application stack as described above. Then you can stop containers you are currently working on.
An example you are working on the cf-lob-platform
repository and the accounting_reporting_core
module:
sudo vim /etc/hosts # add the following line: 127.0.0.1 kafka (I didn't found a better way to do this yet, this needs to be done only once)
dockker compose up -d --build # to start the whole stack
docker container stop api # to stop the api container
## within cf-lob-platform repository
./gradlew clean build publishMavenJavaPublicationToLocalM2Repository # to build the module and publish the artifacts to your local m2 repository
cp cf-application/.env.template cf-application/.env # to copy the .env file
## adjust your .env file to your preferences
# ensure the dev profile is used
export SPRING_PROFILES_ACTIVE=dev--yaci-dev-kit
./gradlew clean bootRun # to start the api container
- Keycloak can be disabled by setting
KEYCLOAK_ENABLED=false
in the.env
file or in the docker-compose file - To test the api swagger set the following two environment variables in the
.env
file or in the docker-compose file:KEYCLOAK_ENABLED=false
KC_BASE_URL=http://localhost:8080