-
Notifications
You must be signed in to change notification settings - Fork 127
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #44 from kidinamoto01/master
修改readme
- Loading branch information
Showing
2 changed files
with
54 additions
and
139 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,184 +1,99 @@ | ||
# IRIS-Hub | ||
## IRIShub 简介 | ||
|
||
IRIS Hub是在Cosmos生态中的区域性枢纽,提供iService服务 | ||
|
||
## 下载发行版安装 | ||
## 现有资源 | ||
|
||
- 进入下载页: https://github.com/irisnet/irishub/releases/ | ||
- 下载对应版本的可执行文件 | ||
- 解压缩`tar -C /usr/local/bin -xzf iris$VERSION.$OS-$ARCH.zip` | ||
- 拷贝到`/usr/local/bin/`目录下 | ||
执行 | ||
* 源码:https://github.com/irisnet/irishub | ||
* 浏览器:http://testnet.irisplorer.io | ||
* 水龙头:http://testnet.irisplorer.io/#/faucet | ||
* 文档:https://github.com/irisnet/testnets/tree/master/testnets | ||
|
||
``` | ||
iris version | ||
``` | ||
|
||
若出现对应的版本号则说明安装成功 | ||
|
||
|
||
|
||
## 通过源码编译安装 | ||
|
||
### 系统要求 | ||
|
||
操作系统:**Ubuntu 16.04** | ||
|
||
架构:**amd64** | ||
## 安装IRIShub | ||
|
||
要求安装1.9版本以上的Go https://golang.org/doc/install | ||
|
||
### 安装步骤 | ||
### 方法1:下载发行版安装 | ||
|
||
进入下载页: https://github.com/irisnet/irishub/releases/ | ||
下载对应版本的可执行文件 | ||
解压缩tar -C /usr/local/bin -xzf 、irishub_0.2.0_linux_amd64.zip | ||
拷贝到/usr/local/bin/目录下 | ||
执行以下命令,若出现对应的版本号则说明安装成功。 | ||
``` | ||
go get github.com/irisnet/irishub | ||
cd $GOPATH/src/github.com/irisnet/irishub | ||
make all | ||
iris version | ||
$ iris version | ||
v0.2.0 | ||
$ iriscli version | ||
v0.2.0 | ||
``` | ||
### 方法2:源码编译安装 | ||
|
||
若出现对应的版本号则说明安装成功 | ||
### 安装Go版本 1.10+ | ||
|
||
### 本地测试网络 | ||
|
||
1. 初始化irishub: | ||
系统要求: | ||
|
||
``` | ||
MYNAME1=<your name> | ||
iris init --chain-id=test --name=$MYNAME1 --home=$HOME/.iris1 | ||
``` | ||
Ubuntu LTS 16.04 | ||
|
||
以上命令将在 `$HOME/.iris1/config`目录下创建默认的配置文件 `priv_validator.json`和`genesis.json`。`priv_validator.json` 包含验证人的私钥。`genesis.json`文件包含其他配置信息, 包括创世账户,创世账户的默认密码为`1234567890`,创世账户的助记词会在执行以上命令后输出在控制台,例如: | ||
|
||
``` | ||
{ | ||
"chain_id": "test", | ||
"node_id": "e4bcb3c7df9783d32c8a876028a45952b4146c78", | ||
"app_message": { | ||
"secret": "spare detail grass load memory robust expect plunge thank hen limb electric town slot annual abandon" | ||
} | ||
} | ||
``` | ||
安装IRISHub需要保证Go的版本在1.10以上, | ||
|
||
其中secret便是创世账户的助记词,可以导入该助记词到iris客户端以重置密码: | ||
通过执行以下命令安装1.10版本的Go。 | ||
|
||
``` | ||
iriscli keys add $MYNAME1 --recover | ||
override the existing name XXX [y/n]: y | ||
Enter a passphrase for your key: <your password> | ||
Repeat the passphrase: <your password> | ||
Enter your recovery seed phrase: <seed phrase> | ||
$ sudo add-apt-repository ppa:gophers/archive | ||
$ sudo apt-get update | ||
$ sudo apt-get install golang-1.10-go | ||
``` | ||
|
||
1. 启动irishub: | ||
以上命令将安装 golang-1.10-go在 /usr/lib/go-1.10/bin. 需要将它加入到PATH中 | ||
|
||
``` | ||
iris start --home=$HOME/.iris1 | ||
echo "export PATH=$PATH:/usr/lib/go-1.10/bin" >> ~/.bash_profile | ||
source ~/.bash_profile | ||
``` | ||
|
||
1. 多节点配置: | ||
|
||
同时,你也可以在本地再运行另一个Node,注意新的Node所对应的工作目录不同,但二者公用一个genesis文件。 | ||
同时,你需要指定相关的 $GOPATH, $GOBIN, 和 $PATH 变量, 例如: | ||
|
||
``` | ||
MYNAME2=<your another name> | ||
iris init --chain-id=test --name=$MYNAME2 --home=$HOME/.iris2 | ||
cp $HOME/.iris1/config/genesis.json $HOME/.iris2/config/genesis.json | ||
mkdir -p $HOME/go/bin | ||
echo "export GOPATH=$HOME/go" >> ~/.bash_profile | ||
echo "export GOBIN=$GOPATH/bin" >> ~/.bash_profile | ||
echo "export PATH=$PATH:$GOBIN" >> ~/.bash_profile | ||
source ~/.bash_profile | ||
``` | ||
|
||
修改 `$HOME/.iris2/config/config.toml` ,防止端口冲突,并让两个Node可以发现彼此: | ||
参考链接: | ||
|
||
``` | ||
proxy_app = "tcp://127.0.0.1:46668" | ||
moniker = "anonymous" | ||
fast_sync = true | ||
db_backend = "leveldb" | ||
log_level = "main:info,state:info,*:error" | ||
[rpc] | ||
laddr = "tcp://0.0.0.0:46667" | ||
[p2p] | ||
laddr = "tcp://0.0.0.0:46666" | ||
seeds = "<iris1_node_id>@0.0.0.0:46656" | ||
``` | ||
|
||
其中node_id可以通过以下命令获取: | ||
|
||
``` | ||
iris tendermint show_node_id --home=$HOME/.iris1 | ||
iris tendermint show_node_id --home=$HOME/.iris2 | ||
``` | ||
1. https://golang.org/doc/install | ||
2. https://github.com/golang/go/wiki/Ubuntu | ||
|
||
然后就可以同时在后台运行: | ||
|
||
``` | ||
iris start --home=$HOME/.iris1 &> iris1.log & NODE1_PID=$! | ||
iris start --home=$HOME/.iris2 &> iris2.log & NODE2_PID=$! | ||
``` | ||
|
||
`PID` 是为了方便之后杀死相关进程。 | ||
|
||
通过 `tail iris1.log`,或 `tail -f iris1.log`可以对Node 进行监控。 | ||
### 下载源码并安装 | ||
|
||
1. 现在我们可以使用客户端进行操作 | ||
|
||
查询本地账户: | ||
在完成Go的安装后,通过以下命令下载并安装IRIS hub相关程序. | ||
|
||
``` | ||
iriscli keys list | ||
``` | ||
mkdir -p $GOPATH/src/github.com/irisnet | ||
cd $GOPATH/src/github.com/irisnet | ||
git clone https://github.com/irisnet/irishub | ||
cd irishub && git checkout v0.2.0 | ||
查询账户余额: | ||
curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh | ||
``` | ||
iriscli account <address> | ||
make get_vendor_deps && make install | ||
``` | ||
|
||
我们可以测试在账户间转账: | ||
以上命令将完成 iris 和 iriscli的安装. 若出现对应的版本号则说明安装成功。 | ||
|
||
``` | ||
iriscli send --name=$MYNAME1 --to=$MYADDR2 --amount=10steak --chain-id=test | ||
iriscli account $MYADDR1 | ||
iriscli account $MYADDR2 | ||
$ iris version | ||
v0.2.0 | ||
$ iriscli version | ||
v0.2.0 | ||
``` | ||
|
||
也可以查询Validator列表: | ||
|
||
``` | ||
iriscli stake validators | ||
``` | ||
|
||
接下来实现第一个validator的添加:首先获得节点的公钥: | ||
|
||
``` | ||
iris tendermint show_validator --home=$HOME/.iris2 | ||
``` | ||
|
||
通过执行以下命令完成绑定: | ||
|
||
``` | ||
iriscli stake create-validator --amount=10steak --pubkey=<your_node_pubkey> --address-validator=<your_address> --moniker=<your_node_moniker> --chain-id=test --name=<key_name> | ||
``` | ||
|
||
再次查询 Validator列表: | ||
|
||
``` | ||
iriscli stake validators | ||
``` | ||
|
||
通过以下命令为Validator添加更多信息: | ||
|
||
``` | ||
iriscli stake edit-validator --details="To the IRISnet !" --website="https://irisnet.org" | ||
``` | ||
|
||
检查Validator是否生效: | ||
|
||
``` | ||
iriscli advanced tendermint validator-set | ||
``` | ||
|
||
如果你杀死了第一个Node,那么区块链将无法继续生成新的块。这是因为只有保证Voting Power总数超过 2/3 的节点在线的情况下,才能达成共识。 | ||
|
||
将第一个节点重新启动,那么区块链会回归正常。 |