Filecoin链目前的还在测试阶段,测试阶段中因为版本的变更,参数什么的会有所不同,在支持它的同时要做好版本的兼容工作;
一些文档工具:
1, 在app中支持它目前提供的RPC接口
2, IM讨论地址:
3, lotus节点所有的api(包括钱包需要的,以及提供给节点使用的)接口定义
4, 基于官方java库的一个web钱包
5, Cid介绍这里
6, BLS签名相关BLS
1. 账户系统
1.1 私钥
bip44:与其他的链并无很大区别,它的coinType为461
1.2 地址组成
network | protocol | payload | checksum |
---|---|---|---|
‘f’ or ‘t’ | 1 byte | n bytes | 4 bytes |
地址之间的不同主要是生成payload的过程
SECP256K1
payload: Blake2b(pubkeyData,20)
bls
payload:pubkeyData length:40
2. 转账
2.1 SECP256K1、BLS类型的message
1 | 明文格式化信息: |
2.2 SECP256K1、BLS类型的签名过程
生成签名数据过程
与以往的链不同的是,它序列化的数据是通过CBOR标准encode的,encode的内容会再生成一个内容寻址Cid,这个Cid会作为hash的输入参数,最后再把hash的被容进行签名,伪代码:base64(sign(blake2b(cid(cbor(messageArray)))));
特别注意生成cid之前对params
是否为空的处理过程;