{"id":21658407,"url":"https://github.com/blocklayerhq/chainkit","last_synced_at":"2026-01-12T02:33:43.165Z","repository":{"id":57483773,"uuid":"153200082","full_name":"blocklayerhq/chainkit","owner":"blocklayerhq","description":"ChainKit is a toolkit for blockchain development. It includes primitives for creating, building and running decentralized applications.","archived":false,"fork":false,"pushed_at":"2019-02-17T21:50:55.000Z","size":9120,"stargazers_count":120,"open_issues_count":12,"forks_count":25,"subscribers_count":9,"default_branch":"master","last_synced_at":"2024-06-20T08:06:19.348Z","etag":null,"topics":["blockchain","cosmos-sdk","tendermint"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/blocklayerhq.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-10-16T00:42:35.000Z","updated_at":"2023-08-21T02:13:24.000Z","dependencies_parsed_at":"2022-08-28T17:02:21.365Z","dependency_job_id":null,"html_url":"https://github.com/blocklayerhq/chainkit","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blocklayerhq%2Fchainkit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blocklayerhq%2Fchainkit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blocklayerhq%2Fchainkit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blocklayerhq%2Fchainkit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/blocklayerhq","download_url":"https://codeload.github.com/blocklayerhq/chainkit/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":226304661,"owners_count":17603638,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blockchain","cosmos-sdk","tendermint"],"created_at":"2024-11-25T09:29:13.911Z","updated_at":"2026-01-12T02:33:43.150Z","avatar_url":"https://github.com/blocklayerhq.png","language":"Go","readme":"# ChainKit\n\n[![CircleCI](https://circleci.com/gh/blocklayerhq/chainkit.svg?style=shield\u0026circle-token=d1cf6680667cd473a3827610073c0678f280a207)](https://circleci.com/gh/blocklayerhq/chainkit)\n[![GoDoc](https://godoc.org/github.com/blocklayerhq/chainkit?status.png)](https://godoc.org/github.com/blocklayerhq/chainkit)\n\nChainKit is a toolkit for blockchain development. It includes primitives for creating, building and running decentralized applications built on top of [Tendermint](https://tendermint.com/) and the [Cosmos SDK](https://github.com/cosmos/cosmos-sdk).\n\nKey features:\n- **Scaffold**: Generate all the [Tendermint](https://tendermint.com/) \u0026 [Cosmos SDK](https://github.com/cosmos/cosmos-sdk) boilerplate automatically to get started in seconds.\n- **Build and Run**: Under the hood, *chainkit* packages your app in a *Docker* container.\n- **Testnet**: Anyone in the world can join your network by running one command. Under the hood, *chainkit* uses [IPFS](https://ipfs.io/) and [libp2p](https://libp2p.io/) to share data and discover peers.\n\n\u003cp align='center'\u003e\n    \u003cimg src='./script/screencast/screencast.svg' width='600' alt='chainkit demo'\u003e\n\u003c/p\u003e\n\n## Installing\n\nRequirements:\n- Go 1.11 or higher and a [working golang](https://golang.org/doc/code.html) environment\n- [Docker](https://docs.docker.com/install/)\n\nFrom this repository, run:\n```bash\n$ make\n$ cp chainkit /usr/local/bin\n```\n\n## Usage\n\n### Create, Build \u0026 Start\n\nIn order to create a new (empty) application, just run the following:\n```bash\n$ cd ~/go/src/github.com\n$ chainkit create demoapp\n```\n\nYou can then start by running:\n```bash\n$ cd demoapp\n$ chainkit start\n```\n\nThen open [http://localhost:42001/](http://localhost:42001/) to see *Tendermint*'s RPC interface\nor open the [Explorer url](http://localhost:42000/?rpc_port=42001).\n\nYou can also access the CLI:\nIf chainkit is running in the current terminal, go to a new one and go to chainkit's\nproject directory.\n```bash\n$ cd demoapp\n$ chainkit cli --help\n$ chainkit cli status\n```\n\nAll CLI commands usually accessible from a Cosmos-SDK application is available in the same way via `chainkit cli ...`.\n\n### Edit the genesis file before the chain starts\n\nIt may be useful to edit the genesis file before the chain starts: either to add new accounts with funds or to add more validators. In order to do so, use the following command:\n\n```bash\n$ cd demoapp\n$ chainkit start --edit-genesis\n```\n\nIt'll spawn an editor (taken from the $EDITOR env variable if it exists) with the original genesis file. Once you apply your changes, you can review the diff before applying the new genesis file, or revert the changes.\n\nPlease note that if the chain has been started already (or any block has been created), this command won't work. The genesis is \"sealed\" once a new block has been created.\n\n### Testnet\n\nAnyone in the world can join your network. They'll need to run:\n\n```bash\n$ chainkit create demoapp\n$ chainkit join \u003cnetwork ID\u003e\n```\n\nwhere `\u003cnetwork ID\u003e` is found in the output from starting the first node, or, for a mainnet, published by the network operator.\n\nUnder the hood, *chainkit* uses [IPFS](https://ipfs.io/) to transfer your network's manifest, genesis file and Docker image between nodes.\n\nA built-in discovery mechanism (using [libp2p](https://libp2p.io/) DHT) allows nodes to discover themselves in a completely decentralized fashion.\n\n### Moving an existing project to chainkit\n\nWhen chainkit creates a new project, it generates two files:\n- chainkit.yml\n- Dockerfile\n\nIt's useful to understand what they contain in order to move an existing project to chainkit. If the project already contains a `Dockerfile`, you won't need to change it.\n\nChainkit.yml:\n```yaml\nname: myapp\nimage: chainkit-myapp\nbinaries:\n  cli: myappcli\n  daemon: myappd\n```\n\nThe `name` is simply the name of the project (taken from `chainkit create myapp`).\n\nThe `image` is the docker image built by chainkit. You can specify your own image if you already have a build system building a docker image.\n\nThe last field `binaries` contain the binaries of the CLI and the Daemon of a cosmos app. It must map to what's inside the docker image, both binary names have to exist after you run a `docker build` using the Dockerfile of the project.\n","funding_links":[],"categories":["Go"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblocklayerhq%2Fchainkit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fblocklayerhq%2Fchainkit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblocklayerhq%2Fchainkit/lists"}