github.com/klaytn/klaytn@v1.12.1/README.md (about)

     1  [![Go Report Card](https://goreportcard.com/badge/github.com/klaytn/klaytn)](https://goreportcard.com/report/github.com/klaytn/klaytn)
     2  [![CircleCI](https://circleci.com/gh/klaytn/klaytn/tree/dev.svg?style=svg)](https://circleci.com/gh/klaytn/klaytn/tree/dev)
     3  [![codecov](https://codecov.io/gh/klaytn/klaytn/branch/dev/graph/badge.svg)](https://codecov.io/gh/klaytn/klaytn)
     4  [![GoDoc](https://godoc.org/github.com/klaytn/klaytn?status.svg)](https://pkg.go.dev/github.com/klaytn/klaytn)
     5  [![Gitter](https://badges.gitter.im/klaytn/Lobby.svg)](https://gitter.im/klaytn/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
     6  
     7  # Klaytn
     8  
     9  Official golang implementation of the Klaytn protocol. Please visit [KlaytnDocs](https://docs.klaytn.foundation/) for more details on Klaytn design, node operation guides and application development resources.
    10  
    11  ## Building from Sources
    12  
    13  Building the Klaytn node binaries as well as utility tools, such as `kcn`, `kpn`, `ken`, `kbn`, `kscn`, `kspn`, `ksen`, `kgen`, `homi` and `abigen` requires
    14  both a Go (version 1.14.1 or later) and a C compiler. You can install them using
    15  your favorite package manager.
    16  Once the dependencies are installed, run
    17  
    18      make all (or make {kcn, kpn, ken, kbn, kscn, kspn, ksen, kgen, homi, abigen})
    19  
    20  ## Executables
    21  
    22  After successful build, executable binaries are installed at `build/bin/`.
    23  
    24  | Command    | Description |
    25  |:----------:|-------------|
    26  | `kcn` | The CLI client for Klaytn Consensus Node. Run `kcn --help` for command-line flags. |
    27  | `kpn` | The CLI client for Klaytn Proxy Node. Run `kpn --help` for command-line flags. |
    28  | `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. |
    29  | `kscn` | The CLI client for Klaytn ServiceChain Consensus Node.  Run `kscn --help` for command-line flags. |
    30  | `kspn` | The CLI client for Klaytn ServiceChain Proxy Node.  Run `kspn --help` for command-line flags. |
    31  | `ksen` | The CLI client for Klaytn ServiceChain Endpoint Node.  Run `ksen --help` for command-line flags. |
    32  | `kbn` | The CLI client for Klaytn Bootnode. Run `kbn --help` for command-line flags. |
    33  | `kgen` | The CLI client for Klaytn Nodekey Generation Tool. Run `kgen --help` for command-line flags. |
    34  | `homi` | The CLI client for Klaytn Helper Tool to generate initialization files. Run `homi --help` for command-line flags. |
    35  | `abigen` | Source code generator to convert Klaytn contract definitions into easy to use, compile-time type-safe Go packages. |
    36  
    37  Both `kcn` and `ken` are capable of running as a full node (default) or an archive
    38  node (retaining all historical state).
    39  
    40  ## Running a Core Cell
    41  
    42  Core Cell (CC) is a set of one consensus node (CN) and one or more proxy nodes
    43  (PNs). Core Cell plays a role of generating blocks in the Klaytn network. We recommend to visit
    44  the [CC Operation Guide](https://docs.klaytn.foundation/docs/nodes/core-cell/)
    45  for the details of CC bootstrapping process.
    46  
    47  ## Running an Endpoint Node
    48  
    49  Endpoint Node (EN) is an entry point from the outside of the network in order to
    50  interact with the Klaytn network. Currently, two official networks are available: **Baobab** (testnet) and **Cypress** (mainnet). Please visit the official
    51  [EN Operation Guide](https://docs.klaytn.foundation/docs/nodes/endpoint-node/).
    52  
    53  ## Running a Service Chain Node
    54  
    55  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.
    56  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](https://docs.klaytn.foundation/docs/nodes/service-chain/).
    57  Furthermore, for those who are interested in the Klaytn Service Chain, please check out [Klaytn - Scaling Solutions](https://docs.klaytn.foundation/docs/learn/scaling-solutions/).
    58  
    59  ## License
    60  
    61  The Klaytn library (i.e. all code outside of the `cmd` directory) is licensed under the
    62  [GNU Lesser General Public License v3.0](https://www.gnu.org/licenses/lgpl-3.0.en.html), also
    63  included in our repository in the `COPYING.LESSER` file.
    64  
    65  The Klaytn binaries (i.e. all code inside of the `cmd` directory) is licensed under the
    66  [GNU General Public License v3.0](https://www.gnu.org/licenses/gpl-3.0.en.html), also included
    67  in our repository in the `COPYING` file.
    68  
    69  ## Contributing
    70  
    71  As an open source project, Klaytn always welcomes your contribution. Please read our [CONTRIBUTING.md](./CONTRIBUTING.md) for a walk-through of the contribution process.