OSDN Git Service

Merge pull request #41 from Bytom/dev
[bytom/vapor.git] / docs / vapor-docs / 0.1 / core / vapor-deployment.md
1 # Vapor 侧链solonet部署说明
2
3 ## 启动 vapor
4
5 consensus.json内容如下:
6
7 ```json
8     {
9         "consensus":{
10             "consensus_type": "dpos" ,
11             "period": 3,
12             "max_signers_count": 7,
13             "min_boter_balance": 1000000000,
14             "genesis_timestamp": 1524549600,
15             "coinbase": "vsm1qkm743xmgnvh84pmjchq2s4tnfpgu9ae2f9slep",
16             "xprv": "a8e281b615809046698fb0b0f2804a36d824d48fa443350f10f1b80649d39e5f1e85cf9855548915e36137345910606cbc8e7dd8497c831dce899ee6ac112445",
17             "signers": [
18                 "vsm1qkm743xmgnvh84pmjchq2s4tnfpgu9ae2f9slep"
19             ]
20         }
21     }
22 ```
23
24 ```shell
25 ./vapor init --chain_id solonet -r "side_chain"
26 ./vapor node -r "side_chain" --consensus_config_file consensus.json
27 ```
28
29 ## 获取公私钥
30
31 ```shell
32 curl -s -X POST -d '{}' http://127.0.0.1:8888/create-key-pair  > key_pair
33
34 注: 公私钥用来生成主链上锁定资产以及解锁资产的合约地址
35 ```
36
37 ## 停止vapor并删除数据目录
38
39 ```shell
40 rm -rf side_chain
41 ```
42
43
44
45 ## 启动 bytomd、vapor
46
47 - bytomd
48 ```shell
49 ./bytomd init --chain_id solonet -r "main_chain"
50 ./bytomd node -r "main_chain"
51 ```
52
53 - vapor
54   fedpeg_xpubs、sign_block_xpubs、signer为上面获取的公私钥
55 ```shell
56 xprv=$(cat key_pair | jq ".data.xprv" | sed "s/\"//g")
57 xpub=$(cat key_pair | jq ".data.xpub" | sed "s/\"//g")
58
59 ./vapor init --chain_id solonet -r "side_chain"
60
61 ./vapor node -r "side_chain" --auth.disable --side.fedpeg_xpubs $xpub  --consensus_config_file consensus.json --validate_pegin true --side.parent_genesis_block_hash "a97a7a59e0e313f9300a2d7296336303889930bfdf5a80d8a9b05db343c03380"
62 ```
63
64 ## 启动侧链工具
65
66 体验的主链与侧链交互的工具的使用如下:
67
68 拷贝上面生成key_pair文件到目录tools/side_chain_tool/
69
70 * [参考侧链工具README](../../../../tools/side_chain_tool/README.md)
71
72 ## Bytom----->Vapor
73 - 工具页面输入侧链账户ID,获取mainchain_address(主链锁定地址)、claim_script(赎回脚本)
74
75   ![pegin-address](png/pegin-address.png)
76
77 - 在主链的dashboard,发送btm到mainchain_address 或者启动monitor_tx自动处理claim tx
78
79 - 工具页面赎回交易填入参数,发送交易
80
81   ![tosidechain](png/tosidechain.png)
82
83 Vapor----->Bytom
84
85 - 在主链的dashboard,新建一个主链地址,并备份
86
87 - 在侧链的dashboard,导入主链的备份,找到与主链新建地址相同的ctrlProgram的地址,并发送交易到这个地址
88
89 - 在侧链的dashboard上retire上面地址的资产
90
91 - 工具网页的侧链发送回主链的页面填入参数,发送交易
92
93   ![tomain](png/tomain.png)
94
95
96
97 ## 注册出块候选人
98
99 ```shell
100 `curl -s -X POST -d '{"base_transaction":null,"actions":[{"address":"vsm1qndq3w79kwtk9acnuswxlwxjqweglwhg8yrzp2c","amount":100000000, "asset_id":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","name":"test-node1","dpos_type":1,"type":"dpos"}],"ttl":0,"time_range":43432}' http://127.0.0.1:8888/build-transaction`
101 ```
102
103
104
105 ## 用户投票给候选人
106
107 ```shell
108 `curl -s -X POST -d '{"base_transaction":null,"actions":[{"address":"vsm1qkm743xmgnvh84pmjchq2s4tnfpgu9ae2f9slep","amount":100000000, "asset_id":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","forgers":["vsm1qndq3w79kwtk9acnuswxlwxjqweglwhg8yrzp2c", "vsm1q93jcjhwe62n5mdtym6m7utle95erd6s3jsn4tn","vsm1qtu926tcsky876hflm93getsv27w7pccv4jg2fs"],"dpos_type":2,"type":"dpos"}],"ttl":0,"time_range":43432}' http://127.0.0.1:8888/build-transaction`
109 ```
110
111
112
113 ## 用户取消投票
114
115 ```shell
116 `curl -s -X POST -d '{"base_transaction":null,"actions":[{"address":"vsm1qkm743xmgnvh84pmjchq2s4tnfpgu9ae2f9slep","amount":100000000, "asset_id":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","forgers":["vsm1qndq3w79kwtk9acnuswxlwxjqweglwhg8yrzp2c", "vsm1q93jcjhwe62n5mdtym6m7utle95erd6s3jsn4tn","vsm1qtu926tcsky876hflm93getsv27w7pccv4jg2fs"],"dpos_type":3,"type":"dpos"}],"ttl":0,"time_range":43432}' http://127.0.0.1:8888/build-transaction`
117 ```
118