Regen Ledger is a blockchain application for ecological assets and data claims built on top of Cosmos SDK and Tendermint Core. Leveraging these tools, Regen Ledger provides the infrastructure for a Proof-of-Stake blockchain network governed by a community dedicated to planetary regeneration.
Features specific to Regen Ledger are developed within this repository as custom modules that are then wired up to the main application. The custom modules developed within Regen Ledger follow the same architecture and pattern as modules developed within Cosmos SDK and other Cosmos SDK applications.
The core features that Regen Ledger aims to provide include the following:
- infrastructure for managing the issuance and retirement of ecosystem service credits
- a database of ecological state and change of state claims that spans both on and off-chain data sources
- mechanisms for automating the assessment of ecological state, making payments, and issuing assets
Regen Ledger is under heavy development and as result the above features are implemented to varying degrees of completeness. For more information about our approach and vision, see Regen Ledger Specification.
Documentation for Regen Ledger is hosted at docs.regen.network. This includes installation instructions for users and developers, information about live networks running Regen Ledger, instructions on how to interact with local and live networks, infrastructure and module-specific documentation, tutorials for users and developers, migration guides for developers, upgrade guides for validators, a complete list of available commands, and more.
Contributions are more than welcome and greatly appreciated. All the information you need to get started should be available in Contributing Guidelines. Please take the time to read through the contributing guidelines before opening an issue or pull request. The following prerequisites and commands cover the basics.
Install go tools:
make tools
Configure git hooks:
git config core.hooksPath scripts/githooks
Run linter in all go modules:
make lint
Run linter and attempt to fix errors in all go modules:
make lint-fix
Run formatting in all go modules:
make format
Run linter for all proto files:
make proto-lint
Run linter and attempt to fix errors for all proto files:
make proto-lint-fix
Run formatting for all proto files:
make proto-format
Run all unit and integrations tests:
make test
Build the regen binary:
make build
View the available commands:
./build/regen help
- regen-network/governance - guidelines and long-form proposals for Regen Mainnet
- regen-network/mainnet - additional information and historical record for Regen Mainnet
- regen-network/testnets - additional information and historical record for Regen Testnets
- regen-network/regen-js - a JavaScript client library for interacting with Regen Ledger
- regen-network/regen-web - user interfaces for Regen Network and Regen Registry
I thought the earth remembered me,
she took me back so tenderly,
arranging her dark skirts, her pockets
full of lichens and seeds.I slept as never before, a stone on the river bed,
nothing between me and the white fire of the stars
but my thoughts, and they floated light as moths
among the branches of the perfect trees.All night I heard the small kingdoms
breathing around me, the insects,
and the birds who do their work in the darkness.All night I rose and fell, as if in water,
grappling with a luminous doom. By morning
I had vanished at least a dozen times
into something better.― Mary Oliver