diff --git a/docs/daos.md b/docs/daos.md new file mode 100644 index 00000000000..29760cc3a90 --- /dev/null +++ b/docs/daos.md @@ -0,0 +1,9 @@ +--- +state: design # Nothing implemented yet, figuring out the best way to do it. +--- + +# DAOs +Decentralized Autonomous Organizations are represented as a group of people that can manage decisions using the blockchain through [Realm](./realm.md)s or/and [package](.)s. We have several DAOs that will be in charge of: + +- [OP Values prize DAO](.): It will define the prize per VM Op. +- [Evaluation DAO](evaluation-dao.md): It will be in charge of making [Proof of Contribution](.) works. \ No newline at end of file diff --git a/docs/evaluation-dao.md b/docs/evaluation-dao.md new file mode 100644 index 00000000000..46f757f49d4 --- /dev/null +++ b/docs/evaluation-dao.md @@ -0,0 +1,10 @@ +--- +state: design # Nothing implemented yet, figuring out the best way to do it. +--- + +# Evaluation DAO + +It is a smart contract framework for reviewing, measuring, and accepting contributions. It is not the consensus mechanism but rather a platform. + +It scales itself -> managed by its members; serving as an entry point to become a new member. +V1 is currently being developed as a [GoR](.) (Game of Realms) task. \ No newline at end of file diff --git a/docs/gno.land.md b/docs/gno.land.md new file mode 100644 index 00000000000..f73b7b8352b --- /dev/null +++ b/docs/gno.land.md @@ -0,0 +1,3 @@ +# gno.land + +gno.land is a reference to all applications included in the ecosystem, from [Tendermint V2](./tendermint2.md) to [Gnovm](./gnovm.md), also including [Gnoweb](./gnoweb.md) and others. \ No newline at end of file diff --git a/docs/gnode.md b/docs/gnode.md new file mode 100644 index 00000000000..26d3457e5c5 --- /dev/null +++ b/docs/gnode.md @@ -0,0 +1,12 @@ +--- +state: design # Nothing implemented yet, figuring out the best way to do it. +--- + +# Gnodes + +Gnodes are interconnected [DAOs](./daos.md) for scaling and specialized communities. They enable secure collaboration and seamless integration, facilitating transparent ecosystem management at scale. + +Layers and overlays for different perspectives: +- first layer: entities, people, and connections to projects and teams. +- second layer: relationships between entities, burn rate, and payments (the "basic income" layer). +- third layer: conflicts of interest, ownership stakes (privacy-preserving). \ No newline at end of file diff --git a/docs/gnovm.md b/docs/gnovm.md new file mode 100644 index 00000000000..c0baddfe4a2 --- /dev/null +++ b/docs/gnovm.md @@ -0,0 +1,11 @@ +--- +state: improvements-needed # The final PoC is working well, but it must evolve performance-wise. +--- + +# Gnovm + +Gnovm is in charge to run [Gno](.) code. +Firstly, [Gno](.) source code is parsed into an Abstract Syntax Tree (AST). +Then, [Gnovm](./gnovm.md) interprets the AST to execute the code. +After that, it emulates CPU instructions to execute the AST instead of executing it directly. +It can store the state of a [Realm](./realm.md) and retrieve it on the next execution. \ No newline at end of file diff --git a/docs/gnoweb.md b/docs/gnoweb.md new file mode 100644 index 00000000000..36e5173ab45 --- /dev/null +++ b/docs/gnoweb.md @@ -0,0 +1,10 @@ +--- +state: improvements-needed # The final PoC is working well, but it must evolve performance-wise. +--- + +# Gnoweb + +Gnoweb is an application that can call a special method on a [realm](./realm.md) that returns markdown as the output. +This can be used to create any kind of web interface, like social networks, blog systems, forums, or standard status pages. + +The method that it calls is `Render(string) string` where the input is a path (to discriminate different requests, and potentially handle them through a router), and the return value is normally markdown to be rendered, but it can be any `string` representation. \ No newline at end of file diff --git a/docs/ibc-protocol.md b/docs/ibc-protocol.md new file mode 100644 index 00000000000..2539b161f7c --- /dev/null +++ b/docs/ibc-protocol.md @@ -0,0 +1,12 @@ +--- +state: design # Nothing implemented yet, figuring out the best way to do it. +--- + +# IBC Protocol + +The Inter-Blockchain Communication Protocol (IBC) allows independent blockchains to directly communicate and trade assets. + +- The Inter‐Blockchain Communication Protocol (IBC), an open‐source protocol for relaying messages between independently distributed ledgers, was created to connect independent blockchains. +- IBC allows heterogeneous chains to trustlessly communicate with each other and exchange value, particularly tokens, which makes them interoperable. +- A key feature of IBC is that the connected blockchains do not need to communicate with each other directly. Instead, they can send packets of information via dedicated channels using smart contracts to connect to the chains. +- The Tendermint‐based decentralized exchange [Osmosis](https://www.coinbase.com/cloud/discover/protocol-guides/guide-to-osmosis) allows token holders to directly benefit from what IBC offers by enabling seamless swaps of tokens from different chains. \ No newline at end of file diff --git a/docs/realm-state.md b/docs/realm-state.md new file mode 100644 index 00000000000..aefc0f6990b --- /dev/null +++ b/docs/realm-state.md @@ -0,0 +1,11 @@ +--- +state: improvements-needed # The final PoC is working well, but it must evolve performance-wise. +--- + +# Realm State + +State stores the state of a Realm. It stores all the Realm public variables as a Merkle tree. + +## Format + +TODO \ No newline at end of file diff --git a/docs/realm.md b/docs/realm.md new file mode 100644 index 00000000000..6db5155ab24 --- /dev/null +++ b/docs/realm.md @@ -0,0 +1,9 @@ +--- +state: improvements-needed # The final PoC is working well, but it must evolve performance-wise. +--- + +# Realm + +A realm is the equivalent of a smart contract. It is a program that cannot be powered off. + +All public methods of a Realm can be accessed by anyone, and all the global variables will be stored between executions as the [State](./realm-state.md). \ No newline at end of file diff --git a/docs/tendermint2.md b/docs/tendermint2.md new file mode 100644 index 00000000000..7b09b82c27c --- /dev/null +++ b/docs/tendermint2.md @@ -0,0 +1,8 @@ +--- +state: improvements-needed # The final PoC is working well, but it must evolve performance-wise. +--- + +# Tendermint 2 + +Tendermint is a consensus protocol that is Byzantine-Fault tolerant. +In [gno.land](./gno.land.md), it is in charge of orchestrating consensus between nodes on the network and replicating state. \ No newline at end of file