Official Java SDK for Bytom
Révision | d876096052712d7f46a67bae59146fe380a99a2e (tree) |
---|---|
l'heure | 2019-03-26 19:17:32 |
Auteur | muscle_boy <shenao.78@163....> |
Commiter | GitHub |
Update README_zh.md
@@ -5,9 +5,10 @@ | ||
5 | 5 | |
6 | 6 | 本文不会对以上技术细节进行讨论,而是利用bytomd全节点查询可用的utxo构建交易,对交易进行签名并序列化后,同样使用bytomd提交交易。 |
7 | 7 | |
8 | + | |
8 | 9 | ## 准备工作 |
9 | 10 | |
10 | -#### 将Maven依赖引入到你的项目中 | |
11 | +### 将Maven依赖引入到你的项目中 | |
11 | 12 | 1. 获取SDK源码 |
12 | 13 | |
13 | 14 | ``` |
@@ -34,11 +35,12 @@ | ||
34 | 35 | <version>1.0.0</version> |
35 | 36 | </dependency> |
36 | 37 | ``` |
37 | - | |
38 | + | |
39 | + | |
38 | 40 | ## 构建交易 |
39 | 41 | |
40 | -#### 普通交易 | |
41 | -**1.** 查询可用的utxo | |
42 | +### 普通交易 | |
43 | +1. 查询可用的utxo | |
42 | 44 | |
43 | 45 | 在本文中,以下将全部使用全节点来查询可用的utxo,你也可以构建一套自己的utxo维护方案。 |
44 | 46 | ```java |
@@ -69,7 +71,7 @@ List<UnspentOutput> outputs = builder.list(client); | ||
69 | 71 | |
70 | 72 | ``` |
71 | 73 | |
72 | -**2.** 构建交易 | |
74 | +2. 构建交易 | |
73 | 75 | |
74 | 76 | 现在需要往`0014c832e1579b4f96dc12dcfff39e8fe69a62d3f516`这个control program转100个BTM。代码如下: |
75 | 77 |
@@ -107,7 +109,7 @@ String rawTransaction = tx.rawTransaction(); | ||
107 | 109 | 对交易调用build方法后,自动会对交易进行本地的验证和签名操作。注意,在本地只是做简单的字段验证,本地验证通过并不代表交易合法。最后对交易调用rawTransaction方法返回交易序列化后的字符串。 |
108 | 110 | |
109 | 111 | |
110 | -**3. 提交交易** | |
112 | +3. 提交交易 | |
111 | 113 | |
112 | 114 | 本文利用bytomd全节点来提交交易: |
113 | 115 | ```java |
@@ -118,12 +120,12 @@ Transaction.SubmitResponse response = client.request("submit-transaction", body, | ||
118 | 120 | 交易提交成功后,response返回交易ID。 |
119 | 121 | |
120 | 122 | |
121 | -#### 发行资产交易 | |
122 | -**1. 查询可用的utxo** | |
123 | +### 发行资产交易 | |
124 | +1. 查询可用的utxo | |
123 | 125 | |
124 | 126 | 发行资产时,需要使用BTM作为手续费,因此第一步同样需要查询当前账户下可用的utxo,由于上面已经提到,这里不再赘述。 |
125 | 127 | |
126 | -**2. 查询需要发行的资产信息** | |
128 | +2. 查询需要发行的资产信息 | |
127 | 129 | |
128 | 130 | 例如,需要发行的资产id为`7b38dc897329a288ea31031724f5c55bcafec80468a546955023380af2faad14` |
129 | 131 |
@@ -157,7 +159,7 @@ List<Asset> assets = builder.list(client); | ||
157 | 159 | } |
158 | 160 | ``` |
159 | 161 | |
160 | -**3. 构建交易** | |
162 | +3. 构建交易 | |
161 | 163 | |
162 | 164 | 现在需要发行1000个棒棒鸡资产: |
163 | 165 |
@@ -195,20 +197,20 @@ Transaction tx = new Transaction.Builder() | ||
195 | 197 | .build(); |
196 | 198 | ``` |
197 | 199 | |
198 | -**4. 提交交易** | |
200 | +4. 提交交易 | |
199 | 201 | |
200 | 202 | 提交交易的方式与普通交易一致。 |
201 | 203 | |
202 | 204 | |
203 | -#### 销毁资产交易 | |
205 | +### 销毁资产交易 | |
204 | 206 | |
205 | 207 | 销毁资产跟发行资产类似,同样需要BTM作为手续费。 |
206 | 208 | |
207 | -**1. 查询可用的utxo** | |
209 | +1. 查询可用的utxo | |
208 | 210 | |
209 | 211 | 查询方式与普通交易一致。 |
210 | 212 | |
211 | -**2. 构建交易** | |
213 | +2. 构建交易 | |
212 | 214 | |
213 | 215 | 这里以销毁一个BTM为例,假设查询得到一个100BTM的utxo: |
214 | 216 |
@@ -237,6 +239,6 @@ String rawTransaction = transaction.rawTransaction(); | ||
237 | 239 | |
238 | 240 | ``` |
239 | 241 | |
240 | -**4. 提交交易** | |
242 | +3. 提交交易 | |
241 | 243 | |
242 | 244 | 提交交易的方式与普通交易一致。 |