/tokenlog

Token-weighted backlog(s)

Primary LanguageTypeScript

Netlify Status Build Status codecov

ETH Gas.watch

Token-weighted Backlogs

Tokenlog is a governance tool to create token-weighted backlogs

It allows projects to continuously gather feedback from their token holders in order to help plan and prioritize their work.​ It allows token holders to actively signal which items matter to them rather than just vote on single proposals.

A better way for projects to collaborate with their biggest supporters.

Summary

Tokenlog works on any Github repository and leaves your current workflow in place. Voting is either by a 1-token, 1-vote, or as by default through quadratic voting. Quadratic voting is a collective decision-making procedure where individuals allocate votes to express the degree of their preferences, rather than just the direction of their preferences. More details at ETH Gas Station

Links

Documentation

Tokenlog works on any Github repository and follows Github's relative paths, e.g. tokenlog.xyz/<org>/<repo>. To allow voting, see the following Config section. Once voted on an issue, these votes will remain 'fixed' until the issue is resolved. When an issue is closed, all votes on it will be 'released' and available to use for voting on other issues.

Config

Tokenlog tries to pull a configuration directly from your repository. This proofs ownership of the repo and doesn't require any curation or management. Just upload a tokenlog.json config to the root of your repository.

Minimum configuration

{
    "org": "wslyvh",
    "repo": "tokenlog",
    "tokenAddress": "0x6b175474e89094c44da98b954eedeac495271d0f"
}

Advanced configuration

{
    "org": "commons-stack",
    "repo": "iteration0",
    "tokenAddress": "0xc4fbE68522ba81a28879763C3eE33e08b13c499E",
    "labels": ["For Contributors"],
    "votingMethod": "STANDARD",
    "chainId": 100
}
  • tokenAddress is the token that people are allowed to vote with
  • labels is an optional list of Github labels that allows you to (&&-) filter on which issues token holders can vote on
  • votingMethod is an optional option to select voting method. Default is STANDARD. Can be one of:
    • STANDARD for 1-token, 1-vote voting
    • QUADRATIC for quadratic voting
  • chainId is an optional id of the network the token is deployed. Default is 1 (Mainnet). Can be one of:
    • 1 - Mainnet
    • 3 - Ropsten
    • 4 - Rinkeby
    • 5 - Kovan
    • 42 - Goerli
    • 100 - xDAI
    • 137 - Polygon

Contributing

Contributions are always welcome, no matter how large or small. If you've found a bug, have a suggestion, feature request or any other feedback, post them at https://github.com/wslyvh/tokenlog/issues/new

If you want to contribute to the codebase, open up an issue or pull-request so we can discuss on the best way to do so.

If you want to help with our backlog, check out https://tokenlog.xyz/wslyvh/tokenlog

Development

yarn start or npm run start

Runs the app in the development mode. By default, it runs at http://localhost:3000.

yarn test or npm run test

Launches the test runner in the interactive watch mode.

yarn build or npm run build

Builds the app for production to the build folder.