远程服务需要本地生成的Access-token,可以通过以下两种方式:/ x) G5 S. [/ |7 Y( U0 `- Y( \
./bytomcli create-access-token test 或者 curl -X POST create-access-token -d '{"id":"test"}'
然后获得access-token:
- “created_at”: “2018-05-18T16:00:25.284677605+08:00”," `7 _+ S3 u6 S l0 X$ }. x
- “id”: “test”,) V0 G+ e; G* h& F: |) Y
- “token”:"test:fe50927ddaa5bcca77021e9f50fa5ef236a6140c012d1fe2eb9241f61a9228e4
test是账户,fe50927ddaa5bcca77021e9f50fa5ef236a6140c012d1fe2eb9241f61a9228e4是密码4 Z; _' K7 M( g
postman的方式,设置Authorization为Basic Auth,然后填写账户名和密码
Java代码调用:, z2 ~5 v9 ~) B( |
- String auth = Username + ":" + Password;
- byte[] encodedAuth = Base64.encodeBase64(auth.getBytes(Charset.forName("US-ASCII")));
- String authHeader = "Basic " + new String(encodedAuth);
- Map header = new LinkedHashMap();( e* r p5 m' V& a. I8 O5 Z. I
- header.put("Authorization", authHeader);
2、错误:{“status”:“fail”,“msg”:“tx rejected: checking result 0: checking output source: checking value source: checking mux source 0: checking value source: checking issuance program: pushing initial argument 0: run limit exceeded”} ,1 ?0 {/ Q0 O, S; y, c' I# ~
交易费gas给少了4 ~# A- ^) c- J$ A$ K) W
**3、reservation found outputs already reserved ** y% _9 Y9 m; f# v
表示该账户的utxo被暂时缓存,建议隔几分钟后再发该交易,一般是交易密码错误. E, e% }) x1 v" G2 ~ g
: r2 `1 T% X! a/ h+ ~0 `8 i
4、build里面那个ttl是干嘛用的?7 l) [4 Z/ v4 b3 I4 x3 n" ^
ttl表示utxo的缓存时间, reservation found outputs already reserved, 这个错误对应的时间,time_range 是为了延迟交易上链的一个时间戳,ttl 为 0 的话会采用默认的时间,大概2两个块的时间(五分钟),超过ttl不能重新 build-transaction" w# M9 G" H- k1 @! w6 x
5 l2 [* U# N! C, b; J) o5 R
5、一笔交易最大可以支持多少上链数据?
上链数据和gas上限有关,现在比原链数据上限为175000字节 = 170 KB& n& b- ?7 [# Y+ t
0 c7 k) `$ a1 b0 G' F' S& s
6、如何配置区块数据到指定位置
$ ./bytomd node --mining --home( T( l) @- F' K5 ]
" \8 I: Z# {3 [, \3 V. |$ l5 z0 A
7、access-token接口访问失败0 }! `; i' b5 P
create-access-token
list-access-tokens% [4 C$ t% d8 y3 m. x
delete-access-token
check-access-token
这四个接口只能本地访问,不能远程访问" r( L J! [ p; L# ~4 H1 [
比原的交易费如何计算
BTM的输出- 输入就是交易费& Z5 c$ d8 P5 N8 O4 Y, Q
交易存储的arbitrary字段中存储的hex增加了6a14是什么意思?
使用varint可变长编码
arbitary: 6a + push指令 + 数据内容,其中6a是固定的,对应OP_FAIL指令,主要用于虚拟机读的格式作用