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 --buildThe --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_coreandorganisationof the cf-lob-platformcf-lob-publisher: The moduleblockchain_publisher,erp_adapterandblockchain_readerof the cf-lob-platformcf-ledger-follower: The submoduleledger_followerof the cf-lob-platform connected to ayaci-devkitpostgres: The database used by the cf-lob-platformyaci-devkit: The Yaci DevKit used by thecf-ledger-followerto 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=falsein the.envfile or in the docker-compose file - To test the api swagger set the following two environment variables in the 
.envfile or in the docker-compose file:KEYCLOAK_ENABLED=falseKC_BASE_URL=http://localhost:8080