Skip to content

Commit

Permalink
Update Readme.md
Browse files Browse the repository at this point in the history
  • Loading branch information
phucnguyenit committed May 16, 2018
1 parent 68c6043 commit 592f69b
Showing 1 changed file with 3 additions and 17 deletions.
20 changes: 3 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,6 @@

UnOfficial golang implementation of the Kardia network.

[![API Reference](
https://camo.githubusercontent.com/915b7be44ada53c290eb157634330494ebe3e30a/68747470733a2f2f676f646f632e6f72672f6769746875622e636f6d2f676f6c616e672f6764646f3f7374617475732e737667
)](https://godoc.org/github.com/ethereum/go-ethereum)
[![Go Report Card](https://goreportcard.com/badge/github.com/ethereum/go-ethereum)](https://goreportcard.com/report/github.com/ethereum/go-ethereum)
[![Travis](https://travis-ci.org/ethereum/go-ethereum.svg?branch=master)](https://travis-ci.org/ethereum/go-ethereum)
[![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/ethereum/go-ethereum?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)


## Building the source

Building gkai requires both a Go (version 1.9 or later) and a C compiler.
Expand All @@ -30,7 +22,7 @@ The go-kardia project comes with several wrappers/executables found in the `cmd`
|:----------:|-------------|
| **`gkai`** | Our main Kardia CLI client. It is the entry point into the Kardia network (main-, test- or private net), capable of running as a full node (default) archive node (retaining all historical state) or a light node (retrieving data live). It can be used by other processes as a gateway into the Kardia network via JSON RPC endpoints exposed on top of HTTP, WebSocket and/or IPC transports. `gkai --help` for command line options. |
| `abigen` | Source code generator to convert Kardia contract definitions into easy to use, compile-time type-safe Go packages. |
| `bootnode` | Stripped down version of our Ethereum client implementation that only takes part in the network node discovery protocol, but does not run any of the higher level application protocols. It can be used as a lightweight bootstrap node to aid in finding peers in private networks. |
| `bootnode` | Stripped down version of our Kardia client implementation that only takes part in the network node discovery protocol, but does not run any of the higher level application protocols. It can be used as a lightweight bootstrap node to aid in finding peers in private networks. |
| `evm` | Developer utility version of the EVM (Karida Virtual Machine) that is capable of running bytecode snippets within a configurable environment and execution mode. Its purpose is to allow isolated, fine-grained debugging of KVM opcodes (e.g. `evm --code 60ff60ff --debug`). |

### Running gkai & Programatically interfacing Gkai nodes
Expand Down Expand Up @@ -60,7 +52,7 @@ via HTTP, WS or IPC to a Gkai node configured with the above flags and you'll ne
on all transports. You can reuse the same connection for multiple requests!

**Note: Please understand the security implications of opening up an HTTP/WS based transport before
doing so! Hackers on the internet are actively trying to subvert Ethereum nodes with exposed APIs!
doing so! Hackers on the internet are actively trying to subvert Karadi nodes with exposed APIs!
Further, all browser tabs can access locally running webservers, so malicious webpages could try to
subvert locally available APIs!**

Expand Down Expand Up @@ -124,8 +116,7 @@ $ bootnode --genkey=boot.key
$ bootnode --nodekey=boot.key
```

With the bootnode online, it will display an [`enode` URL](https://github.com/ethereum/wiki/wiki/enode-url-format)
that other nodes can use to connect to it and exchange peer information. Make sure to replace the
With the bootnode online, make sure to replace the
displayed IP address information (most probably `[::]`) with your externally accessible IP to get the
actual `enode` URL.

Expand All @@ -147,11 +138,6 @@ need to configure a miner to process transactions and create new blocks for you.

#### Running a private miner

Mining on the public Ethereum network is a complex task as it's only feasible using GPUs, requiring
an OpenCL or CUDA enabled `ethminer` instance. For information on such a setup, please consult the
[EtherMining subreddit](https://www.reddit.com/r/EtherMining/) and the [Genoil miner](https://github.com/Genoil/cpp-ethereum)
repository.

In a private network setting however, a single CPU miner instance is more than enough for practical
purposes as it can produce a stable stream of blocks at the correct intervals without needing heavy
resources (consider running on a single thread, no need for multiple ones either). To start a Gkai
Expand Down

0 comments on commit 592f69b

Please sign in to comment.