Git Product home page Git Product logo

klaytn's Introduction

Go Report Card CircleCI codecov GoDoc

Klaytn

Official golang implementation of the Klaytn protocol. Please visit KlaytnDocs for more details on Klaytn design, node operation guides and application development resources.

Building from Sources

Building the Klaytn node binaries as well as utility tools, such as kcn, kpn, ken, kbn, kscn, kspn, ksen, kgen, homi and abigen requires both a Go (version 1.14.1 or later) and a C compiler. You can install them using your favorite package manager. Once the dependencies are installed, run

make all (or make {kcn, kpn, ken, kbn, kscn, kspn, ksen, kgen, homi, abigen})

Executables

After successful build, executable binaries are installed at build/bin/.

Command Description
kcn The CLI client for Klaytn Consensus Node. Run kcn --help for command-line flags.
kpn The CLI client for Klaytn Proxy Node. Run kpn --help for command-line flags.
ken The CLI client for Klaytn Endpoint Node, which is the entry point into the Klaytn network (main-, test- or private net). It can be used by other processes as a gateway into the Klaytn network via JSON RPC endpoints exposed on top of HTTP, WebSocket, gRPC, and/or IPC transports. Run ken --help for command-line flags.
kscn The CLI client for Klaytn ServiceChain Consensus Node. Run kscn --help for command-line flags.
kspn The CLI client for Klaytn ServiceChain Proxy Node. Run kspn --help for command-line flags.
ksen The CLI client for Klaytn ServiceChain Endopoint Node. Run ksen --help for command-line flags.
kbn The CLI client for Klaytn Bootnode. Run kbn --help for command-line flags.
kgen The CLI client for Klaytn Nodekey Generation Tool. Run kgen --help for command-line flags.
homi The CLI client for Klaytn Helper Tool to generate initialization files. Run homi --help for command-line flags.
abigen Source code generator to convert Klaytn contract definitions into easy to use, compile-time type-safe Go packages.

Both kcn and ken are capable of running as a full node (default) or an archive node (retaining all historical state).

Running a Core Cell

Core Cell (CC) is a set of one consensus node (CN) and one or more proxy nodes (PNs). Core Cell plays a role of generating blocks in the Klaytn network. We recommend to visit the CC Operation Guide for the details of CC bootstrapping process.

Running an Endpoint Node

Endpoint Node (EN) is an entry point from the outside of the network in order to interact with the Klaytn network. Currently, two official networks are available: Baobab (testnet) and Cypress (mainnet). Please visit the official EN Operation Guide.

Running a Service Chain Node

Service chain node is a node for Service Chain which is an auxiliary blockchain independent from the main chain tailored for individual service requiring special node configurations, customized security levels, and scalability for high throughput services. Service Chain expands and augments Klaytn by providing a data integrity mechanism and supporting token transfers between different chains. Although the service chain feature is under development, we provide the operation guide for testing purposes. Please visit the official document Service Chain Operation Guide. Furthermore, for those who are interested in the Klaytn Service Chain, please check out Klaytn - Scaling Solutions.

License

The Klaytn library (i.e. all code outside of the cmd directory) is licensed under the GNU Lesser General Public License v3.0, also included in our repository in the COPYING.LESSER file.

The Klaytn binaries (i.e. all code inside of the cmd directory) is licensed under the GNU General Public License v3.0, also included in our repository in the COPYING file.

Contributing

As an open source project, Klaytn always welcomes your contribution. Please read our CONTRIBUTING.md for a walk-through of the contribution process.

klaytn's People

Contributors

aeharvlee avatar aidan-kwon avatar aluminous avatar andybclee avatar dependabot[bot] avatar ehnuje avatar hqjang-pepper avatar hqueue avatar hyochan-brown avatar jeonghonah avatar jeongkyun-oh avatar jimni1222 avatar kaikookim avatar kimkyungup avatar kjhman21 avatar klaytndev avatar laggu avatar nogang avatar whoisxx avatar winnie-byun avatar yoomee1313 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.