Filecoin开发

星际导航
Filecoin开发

1、账户类型

类型说明系统地址 (以测试网地址为例)
Account普通账户t099, 接受销毁代币
Cron执行定时任务t03, 仅限系统地址
Init创建特殊账户类型t01, 仅限系统地址
Multisig多重签名
PaymentChannel支付通道
Reward发放区块奖励t02, 仅限系统地址
StorageMarkett05, 仅限系统地址
StorageMiner矿工
StoragePowert04, 仅限系统地址
System系统消息的调用方t00, 仅限系统地址
VerifiedRegistryt06, 仅限系统地址

注:普通账户分为 secp256k1 和 bls 两种类型,前者地址以 t1 开头,后者以 t3 开头;两者都有一个对应的 t0 开头的 ID 地址。其余账户类型除系统账户外,默认地址都是以 t0 开头的 ID 地址,并且都有对应的 t2 开头的地址。

2、消息类型

消息各参数含义:

类型说明
Version版本号
To接收方
From发送方
Nonce
Value金额
GasPricegas 价格
GasLimitgas 最大使用量
Method消息类型
Params调用参数

消息执行结果:

类型说明消息执行结果
ExitCode状态码0 表示成功
Return返回值
GasUsedgas 使用量
Error错误信息需要通过 StateReplay RPC 获取,无法实时同步
InternalExecutions内部消息,例如 CreateMiner 会调用 Exec

常用消息开发说明文档

通用消息

Send

普通转账,将金额 ValueFrom 转移到 To

调用参数

任意字节串

返回值

Constructor (系统调用)

创建账户时调用的构造函数。

Cron 消息

EpochTick (系统调用,定时任务)

触发当前高度定时任务。

Init 消息

Exec

创建特殊类型的账户,例如 Multisig, PaymentChannel 等,创建成功后将金额 Value 转移至新创建的账户。

调用参数

CodeCID 所创建账户类型的 CID 格式; ConstructorParams 创建账户的 Constructor 消息参数。

返回值

IDAddress 新创建账户的 ID 格式地址,地址前缀 t0; RobustAddress 新创建账户的 Hash 格式地址,该格式不会被分叉影响。地址前缀 t2。

Reward 消息

AwardBlockReward (系统调用)

发送区块奖励。*Penalty* 会被销毁。

调用参数

Miner 挖出区块的矿工; Penalty 矿工打包 异常交易 的惩罚;(大多数情况不会有 Penalty) GasReward 所有交易的 gas 费用。

返回值

LastPerEpochReward (系统调用)

计算当前高度的区块奖励总和 (= 5 * 每个区块的奖励)。

调用参数

返回值

奖励数值

UpdateNetworkKPI (系统调用,定时任务)

更新全网算力、奖励等参数。

StorageMiner 消息

ControlAddresses (系统调用)

获取矿工 Owner 和 Worker 地址。

调用参数

返回值

Owner Owner 地址; Worker Worker 地址。

ChangeWorkerAddress

修改矿工 Worker。

调用参数

NewWorker 新的 Worker。

返回值

ChangePeerID

修改矿工 PeerID。

调用参数

NewID 新的 PeerID。

返回值

SubmitWindowedPoSt (TODO)

矿工提交抽查信息。

调用参数

Deadline Partitions Proofs Skipped

返回值

PreCommitSector (TODO)

矿工提交 PreCommit 信息。

调用参数

RegisteredProof SectorNumber Sector 序号; SealedCID SealedRandEpoch DealIDs Expiration Sector 过期时间。

返回值

ProveCommitSector (TODO)

矿工提交 ProveCommit 信息。

调用参数

SectorNumber Sector 序号; Proof

返回值

WithdrawBalance

将矿工地址内的余额提取至 Owner 地址,提取的金额为 AmountRequestedAvailableBalance 的较小值,具体金额可在 InternalExecutions 中获取。

调用参数

AmountRequested 希望提取的金额。

返回值

ChangeMultiaddrs (TODO)

修改矿工 multiaddress。

调用参数

NewMultiAddrs 新的 multiaddress 列表。

返回值

StoragePower 消息

CreateMiner

内部调用 Exec 创建矿工账户,创建成功后将金额 Value 转移至矿工账户。

调用参数

Owner 矿工的拥有者,管钱; Worker 负责挖矿计算的地址; SealProofType 表示矿工的扇区大小等信息; Peer 矿工的 PeerID。 Multiaddrs 矿工的 multiaddress 列表,可以用来连接矿工节点。

返回值

IDAddress 新创建账户的 ID 格式地址,地址前缀 t0; RobustAddress 新创建账户的 Hash 格式地址,该格式不会被分叉影响。地址前缀 t2。

DeleteMiner (代码未实现)

删除矿工账户,创建成功后会将金额 Value 转移至矿工账户。只有当矿工没有算力时才能删除,矿工余额会被销毁。

调用参数

Miner 矿工地址。

返回值

Filecoin开发
版权声明:星际导航 发表于 2020-08-25 8:58:16。
转载请注明:Filecoin开发 | IPFS导航 | IPFShub
广告也精彩

暂无评论

暂无评论...