regen-ledger

module
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 13, 2021 License: Apache-2.0

README

Regen Ledger

banner

Build status Tests status GitHub issues GitHub issues by-label codecov GoDoc License Go Report Card Gitter chat

A distributed ledger for ecology built on top of the cosmos-sdk.

Getting Started

See Getting Started for instructions how to install and run the blockchain.

Core Features

Regen Ledger aims to provides the following core features:

This project is under heavy development and as result the above features are implemented to varying degrees of completeness.

Ecological State Database

One of the core functionalities of Regen Ledger is providing a structured database of claims regarding ecological state and change of state. A claim is made up of a few very basic pieces of information:

  • the geo-polygon of the portion of the Earth being referred to,
  • what is being claimed about this geographical region,
  • who is making the claim, and
  • any supporting evidence the claimant would like to associate with their claim

The actual data for claims can be stored on or off the Regen Ledger blockchain. In order to make claim data publicly available to the whole world, it can be stored directly on the blockchain. In order to keep some or all of the data private, it can be stored off-chain but "tracked" on-chain by providing a cryptographic hash and URL, as well as possibly some metadata about the claim.

The facilities for storing data on-chain and tracking data off-chain are managed by Regen Leder's data and geo modules. In order to make it easy to write software that can automatically reason about claim data, the schemas for all such data must be registered with Regen Ledger's schema module and all submitted data must conform to these schemas. The actually signing of claims is managed by the claim module.

Regen Ledger aims to provide built-in support for indexing claim data in both the PostgreSQL/PostGIS database and the Apache Jena RDF data store so that this data can be queried easily and used in compute functions and contracts.

Compute Functions and Ecological Contracts

Regen Ledger aims to provide a framework for executing compute functions that take as input Regen Ledger's ecological state database as well as other "well-known" public data sources, such as satellite imagery from NASA and ESA. This framework will define:

  • how compute functions can uniformly access private, off-chain data given appropriate permissions
  • how compute functions should be written and executed to ensure that results are reproducible
  • how computers that are executing compute functions (called oracles) should interact with Regen Ledger in order to have results stored back into the ecological state database

This functionality will be managed by the oracle module and described in more detail there.

Ecological contracts in Regen Ledger are modelled as state machines that effectively "observe" the ecological state database for certain conditions and which execute certain actions when those conditions are met. For instance, a contract could be written to make a payment to a farmer at the end of the year if the ecological state database included claims from a reputable source that the farmer had used certain practices like cover cropping. Or a contract could be setup as effectively a "land trust" for a forest that accumulates credits while it remains forested but has them slashed whenever a deforestation event is tracked in the ecological state database.

The functionality for ecological contracts will be managed by the contract module.

Tokens and Credits

In addition to allowing for payments using existing tokens, Regen Ledger will allow for the creation of custom ecosystem tokens and credits whose issuance can be controlled directly by ecological contracts.

Testnet Status

See https://github.com/regen-network/testnets.


And of course there is this, from Mary Oliver, who recently passed away.
We love you!

Sleeping in the Forest


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.

from Sleeping In The Forest by Mary Oliver
© Mary Oliver

Directories

Path Synopsis
api module
app
Mostly copied from https://github.com/cosmos/gaia/tree/master/app Mostly copied from https://github.com/cosmos/gaia/tree/master/app
Mostly copied from https://github.com/cosmos/gaia/tree/master/app Mostly copied from https://github.com/cosmos/gaia/tree/master/app
errors module
Package math provides helper functions for doing mathematical calculations and parsing for the ecocredit module.
Package math provides helper functions for doing mathematical calculations and parsing for the ecocredit module.
mocks
wasmd Module
Package orm is a convenient object to data store mapper.
Package orm is a convenient object to data store mapper.
store
lookup
Package lookup provides a key-value store backed data structure which finds and stores a short, unique binary identifier for a longer piece of binary data using an efficient, non-cryptographic hash function.
Package lookup provides a key-value store backed data structure which finds and stores a short, unique binary identifier for a longer piece of binary data using an efficient, non-cryptographic hash function.
Package server defines fixture interfaces and implementations for testing server implementations with multiple backends.
Package server defines fixture interfaces and implementations for testing server implementations with multiple backends.
cli
network
Package network implements and exposes a fully operational in-process Tendermint test network that consists of at least one or potentially many validators.
Package network implements and exposes a fully operational in-process Tendermint test network that consists of at least one or potentially many validators.
x
intertx Module

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL