远程服务需要本地生成的Access-token,可以通过以下两种方式:
./bytomcli create-access-token test 或者 curl -X POST create-access-token -d '{"id":"test"}'" Y/ K: e4 u$ x
然后获得access-token:
- “created_at”: “2018-05-18T16:00:25.284677605+08:00”,# q3 L8 [0 e) X4 c
- “id”: “test”,
- “token”:"test:fe50927ddaa5bcca77021e9f50fa5ef236a6140c012d1fe2eb9241f61a9228e4
test是账户,fe50927ddaa5bcca77021e9f50fa5ef236a6140c012d1fe2eb9241f61a9228e4是密码
postman的方式,设置Authorization为Basic Auth,然后填写账户名和密码! J2 c/ u8 E, }+ ?
Java代码调用:
- String auth = Username + ":" + Password;8 K& }+ T9 T/ I8 C% f9 j0 \
- byte[] encodedAuth = Base64.encodeBase64(auth.getBytes(Charset.forName("US-ASCII")));
- String authHeader = "Basic " + new String(encodedAuth);, T! J y4 C+ }9 I; i5 X
- Map header = new LinkedHashMap();
- 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”} ,
交易费gas给少了4 M% g; p" u# f3 [9 S1 C% Q
**3、reservation found outputs already reserved **0 X8 ^% h' ]* q9 _% R2 y2 x
表示该账户的utxo被暂时缓存,建议隔几分钟后再发该交易,一般是交易密码错误
4、build里面那个ttl是干嘛用的?
ttl表示utxo的缓存时间, reservation found outputs already reserved, 这个错误对应的时间,time_range 是为了延迟交易上链的一个时间戳,ttl 为 0 的话会采用默认的时间,大概2两个块的时间(五分钟),超过ttl不能重新 build-transaction
5、一笔交易最大可以支持多少上链数据?5 V" f7 a3 s* v1 [5 J8 L' C
上链数据和gas上限有关,现在比原链数据上限为175000字节 = 170 KB: t; v) H( s) f: x }: H& ^. G
6、如何配置区块数据到指定位置5 t+ V {/ Z5 b2 M1 j) \
$ ./bytomd node --mining --home2 B B5 c6 j/ T5 Q: A9 K7 R
7、access-token接口访问失败
create-access-token, R5 V5 [* r; I+ e, X
list-access-tokens* J5 m8 j. N1 b: E1 G+ ?5 h) L
delete-access-token) j& T2 h1 C4 d2 ^: C' G( \" y
check-access-token8 _1 n: [1 c C* ?" c# {
这四个接口只能本地访问,不能远程访问. x2 O4 g# M: c" y
1 f6 @2 K/ v3 o9 t# W2 G' |$ _# T
比原的交易费如何计算
BTM的输出- 输入就是交易费* E8 e* q- F# d
交易存储的arbitrary字段中存储的hex增加了6a14是什么意思?
使用varint可变长编码3 h) B0 ?7 w1 j, B5 \/ U
arbitary: 6a + push指令 + 数据内容,其中6a是固定的,对应OP_FAIL指令,主要用于虚拟机读的格式作用



