decentfund / kyodo

2 stars 3 forks source link

Kyodo

Installation

This is a monorepo for Kyodo project consisting of 3 modules:

Get started

Prerequisites

To setup monorepo packages and its dependencies

git clone https://github.com/decentfund/kyodo.git
cd kyodo
yarn

Add initial distribution (optional)

# Create initial distribution of tokens
# Change `deploy_parameters.json` to reflect the initial distribution you want or leave the accounts section empty.
cd packages/kyodo-contracts
cp migrations/deploy_parameters.example.json migrations/deploy_parameters.json

Setup contracts

# Pull solc compiler docker images
# Solc 0.4.23 for colonyNetwork
docker pull ethereum/solc:0.4.23
# Solc 0.4.24 for kyodo and bokkypoobah datetime library
docker pull ethereum/solc:0.4.24

# Init git submodules
yarn initialize

# Start ganache cli with necessary parameters
yarn start:blockchain:client

# Compile smart contracts
yarn deploy-contracts

Starting backend

If you want to use local development backend with a proper database in the frontend app, start backend first

yarn start-backend

Start trufflepig to serve colony network locally

yarn start-trufflepig

Start frontend app

yarn start

Don't forget to switch Metamask network to localhost:8545

Testing

All packages are having necessary test suites and could be invoked using next call:

yarn test

Smart-contracts

We implement an ERC-20 token contract to bootstrap app based on OpenZeppelin ERC20 Mintable token and Ownable contracts, for working with strings we utilize strings.sol library.

Setting up arbitrary token balances

If you need to specify additional token balances, you can do so by creating a balances.json file in the root of the kyodo package. Tokens should be specified in the form of TICKER: BALANCE, like BTC: 1

Mockups

Kyodo design is done in figma. We have next mockups published:

Description

Kyodo is Ethereum blockchain based web app, the cross-platform incentive tool for building the crypto economy for DAO based on Impression revenue model. We build Kyodo to run Decent.Fund. As an organizational structure, it's defined as Adhocracy. As governance, it has two models Democracy and Meritocracy.

Colony: Decent.Fund

Decent.Fund mission is to contribute to the mass adoption of the decentralized solutions, making the concepts of the new crypto economy closer to the unchained world. According to the mission Decent.Fund focuses on following activities:

  1. UI/UX design
  2. Programming
  3. Digital marketing
  4. Research
  5. Education
  6. Fund management

Decent.Fund aims to grow the community of people who are interested in experiments in building the decentralized organization which embraces individual and social interests, economic efficiency and incentive mechanism for growing.

Kyodo/Decent.Fund domain structure

Smart contracts' relations

Task management models

There are two opposite models of the Task management in Kyodo:

  1. Impression revenue model The contribution is done without an initial task setting. A contributor posts the contribution to Riot/Colony → Domain's members evaluate the contribution by tipping → send tips with Riot bot → the contributor gets his DF tokens.

  2. Task management model Everybody can initiate task by staking DF token. The process: stake task → add task description → assign roles → define an amount of DF token to stake to participate → define reward tasks → open task

Tokenomics

The Kyodo token model should reflect the value, which the project aims to accumulate and grow, discourages speculation, incentivizes desirable dynamics within a community built around open source software.

The Kyodo has a two-token model / continuous:

DF token

Tech layer - ERC-20 Blockchain native token

Purposes: Cryptocurrency. DF token is intended to be a medium of exchange and store of value for the Decent.Fund activity. DF token is tied to the fund of the community, which is under the GOV domain.

The price of DF token is calculated with this formula: Total cap / Total supply

DF token functionality as cryptocurrency is:

DF token also has a functionality of Network token which is intended to be used within Kyodo ecosystem:

Underlying value Network value token that is tied to the value and development of the network. Closely interwind with key interactions of Decent.Fund participants. The value generated by work within Decent.Fund domains increases the token value and the share of the fund a member will receive.

Utility DF token is the hybrid token that featuring traits of both Usage and Work token:

Legal status Utility token - closely tied to functionality / internal currency / Grants owners to contribute to the system vs. passive investor role.

How to earn: Buy on a decentralized exchange or Fund management domain

DF Merit\ Tech layer - NFT Blockchain native token\ Purpose: Network token - not intended to be cryptocurrency, has the functionality within the system:

Underlying value Network value token that is tied to the value and development of the network.

Utility Usage token - the token that provides access to Gov domain

Legal status - Utility token

How to earn: owners are defined in Gov domain. The dispute could be initiated by a member who wants the merit. The decision is made by voting within Gov domain.

Incentives\ Incentives involve both monetary and non-monetary rewards and punishments:

Short-run Long-run
Fanancial Points DF token revenue
-------- -------- --------
Non-Fanancial Work with the decentralized community Mission driven

The incentive to hold - the rising token value

Token distribution Period - 1 month At the end of a period, a member should sign a transaction approving the number of tips (DF tokens) he spread within members as evaluation of the work they have done. At the end of the period, the number of points members earned for work are converted to the DF token and distributed to the members from the Gov domain.

Inflation Dynamic inflation depends on the amount of the money earned in a current period.

Government domain

Government type - Meritocracy "Meritocracy is the idea that decisions should be taken by the entities better qualified for it" - Xavi Vives

Merit properties by Xavi Vives

  1. Defines what’s of value to the system to make decisions.
  2. Can’t be a medium of exchange
  3. Needs to be quantifiable

The merit, which meets requirements, is represented by NFT token in Kyodo.

One member of Gov domain can have only one NFT token, meaning one member has only one vote.

NFT token is the access to vote in Gov domain.

Other members elect the new Gov domain's members in Kyodo by voting on Aragon platform.

The voting topics of the Gov domain are: