Hashnode / mint

Mint Blockchain — Build blockchain powered social apps
http://uphack.co
175 stars 27 forks source link
abci blockchain golang tendermint tendermint-applications tendermint-consensus

mint

Mint is a Tendermint based blockchain protocol that lets anyone build social apps easily. Mint was created out of a need for efficient data storage on blockchain. It provides you with a simple boilerplate code for building social communities and gets out of your way quickly.

We have also released a front-end (client) of the blockchain which is known as Uphack. Think of it as Hackernews on blockchain.

This is one of the many experiments we have been doing at Hashnode. Although it's super early, we have released the codebase to get initial feedback from the community and improve further.

Alpha Software

This is an alpha software and shouldn't be used in production. You should use this software to experiment and learn more about blockchain.

More Details

Contribute

A blockchain network needs validators. We have deployed a demo app with 4 validators of our own and we encourage you to become one and test it out. At any time there will be 21 validators producing blocks. Remember there is no incentive to produce blocks yet. You should become a validator only if you want to experiment and learn how blockchain networks work.

Become a validator

To become a validator please follow these steps.

If you want to be a non-validating peer (which means you don't want to take part in consensus), you can do so by following the steps above (Step 2 onwards). However, the content of your genesis.json will be different. As it should contain the rest of the validators, you can paste the following into your genesis.json:

 {
  "genesis_time": "2018-06-01T06:56:45.810497687Z",
  "chain_id": "mint-test",
  "validators": [
    {
      "pub_key": {
        "type": "AC26791624DE60",
        "value": "4BLVMK+pB9ogowU2qxSH54H/eMdS2JLBmeGsUi3HsMg="
      },
      "power": 10,
      "name": ""
    },
    {
      "pub_key": {
        "type": "AC26791624DE60",
        "value": "kuaknLaXXOqPvUJa9O42HQ4dah3lpwdetRgud7Yb5jA="
      },
      "power": 10,
      "name": ""
    },
    {
      "pub_key": {
        "type": "AC26791624DE60",
        "value": "T/1Jn1K1vR7CWfNyU6P/t2D4pYLUr3FSyijuqmHjEkA="
      },
      "power": 10,
      "name": ""
    },
    {
      "pub_key": {
        "type": "AC26791624DE60",
        "value": "OSAe1dE/OYFxvMOK+NDraQ6EXOWxhYlup/IUPyjmoGA="
      },
      "power": 10,
      "name": ""
    }
  ],
  "app_hash": ""
}

As soon as you run tendermint and mint, you will start receiving blocks and the latest state will be saved in MongoDB. If you want to check the state, open up mongo shell and use tendermintdb to explore the collections.

Contributing Code

If you want to improve the code and want to offer feedback, feel free to send a PR. The whole purpose of open sourcing the repo at such an early stage is to get feedback and improve the code.

The front-end for the blockchain is located at uphack.co and the corresponding code is available here.


Do you think your blockchain product needs Mint?

Let's talk. Shoot an email to one of the following emails: