Skip to content

Commit

Permalink
Merge pull request #44 from kidinamoto01/master
Browse files Browse the repository at this point in the history
修改readme
  • Loading branch information
zhangyelong authored Jul 25, 2018
2 parents e8aa0c7 + c3f4621 commit a1149b2
Show file tree
Hide file tree
Showing 2 changed files with 54 additions and 139 deletions.
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ BREAKING CHANGES:

FEATURES:

- [lcd] code rego
- [lcd] code refactor

- [cli] improve sendingand querying the transactions

Expand Down
191 changes: 53 additions & 138 deletions README.md
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 的节点在线的情况下才能达成共识

将第一个节点重新启动那么区块链会回归正常

0 comments on commit a1149b2

Please sign in to comment.