# FiveToken Pro

FiveToken Pro版本是面向矿工用户和大额持有者使用的,当前已开放了高级功能:离线交易、矿工监控、矿工操作(矿工提现、矿工变更owner地址,以及矿工发送自定义ID消息的功能)、多签钱包、只读钱包。

安装APP完成首次使用时,需要选择联网或使用离线钱包,离线客户端可选择不联网使用离线钱包。

# 离线交易

  • 消息的发送由3个步骤完成,即:构建消息、消息签名、消息推送。构建消息、消息推送是不需要私钥的,仅在消息签名时使用私钥。

  • 对于热钱包,用户发送交易时,这3个步骤是连续完成的。使用离线交易,将对这3个步骤进行分割,消息签名将会在离线设备中签名,来确保交易过程的安全性。

# 构建消息

点击菜单栏,进入“发现”页面,点击“消息构建”。 使用热钱包构建消息,输入指定的消息内容,即可返回消息体和消息二维码,您可以通过复制或扫描二维码的方式在不同客户端分享信息。

发送者:交易转出方地址
接收者:交易接收者地址
方法ID:0,transfer(账户间普通转账);16,withdraw(矿工提现,发送者为矿工的owner地址);23,changeOwnerAddress(变更Owner地址,发送者为矿工的Owner地址);其它方法ID可自定义,将陆续开放教程
数额:非负数
参数:根据不同的消息ID输入不同的参数,transfer消息类型无需输入

示例

当前可支持构建消息的消息类型如下:

# 离线消息签名

打开FiveToken离线版本,点击“签名”,使用扫描二维码获取已构建的消息结构体,nonce值不要随意调整。执行签名操作,将返回签名后的消息体和二维码。

示例

Nonce值说明

离线签名时,Nonce值默认为构建消息的Nonce值,当同一时间设置签名多条消息时,可点击“高级设置”自定义设置Nonce。

  • 一个地址的发送交易序列是由nonce值控制的,nonce值从1开始逐条+1。同一nonce值的消息,仅会有1条消息发送成功。
  • 在线钱包和构建消息时,APP已经自动设置为发送者地址的最新nonce+1,因此,使用离线钱包进行1条消息的签名时,nonce值不要去修改。
  • 使用离线钱包同一时间(操作时间内无上链信息)进行多条消息的签名时,逐条构建消息nonce需要逐条+1,保证nonce值是连续的。

# 消息推送

使用热钱包推送消息。

示例

为保证消息推送的成功率,这3个步骤应尽快完成。消息的网络手续费参数是根据构建消息时,网络费用的消耗评估确定的,当间隔时长较长网络费用上涨较大时,将导致消息的失败。

# 矿工操作

# 添加矿工地址

点击钱包下拉选择框,点击“管理”进入钱包管理页面,点击“添加钱包”选择“导入矿工钱包”,在“导入矿工钱包”输入地址和钱包名称,完成添加。

矿工的操作指令由owner地址发起。

owner地址可以控制矿工的所有行为,owner地址的私钥保护需要极其关注,为了保障owner地址的操作安全性,FiveToken仅支持owner地址的离线签名操作,暂不支持owner地址的在线热钱包签名。

# 矿工提现

矿工提现可以将矿工的可用余额提现到owner地址。 添加矿工地址后,进入到矿工页面,可查看到“提现”按钮。输入参数后,会构建一条矿工提现的未签名消息,通过owner的离线钱包签名并推送消息,即可完成该矿工的提现。

矿工提现后,矿工的提现余额转向owner地址,矿工的可用余额相应减少,owner的余额相应增加。

发送者:owner地址
接受者:矿工ID
方法ID:16,withdraw
数额:提现金额

示例

# 矿工更换owner地址

  • 变更矿工owner地址需要用到消息类型:23,ChangeOwnerAddress。
  • 变更owner地址需要两条消息的确认
    • 原owner地址的id23消息
    • 新owner地址的id23消息

# 原owner地址发送ChangeOwnerAddress消息

1)构建ChangeOwnerAddress消息

发送者:原owner地址
接收者:矿工ID
方法ID:23
参数:新owner地址的ID,注意,要使用ID,而不是地址。

示例

2)原owner地址离线签名

3)签名后消息推送

# 新owner地址发送ChangeOwnerAddress消息

发送者:新owner地址
矿工地址:矿工ID
方法ID:23
参数:新owner地址的ID

# 检查结果

这个时候,我们可以到filscan上查询一下多签地址,变更成功后,该地址下会显示矿工地址。

# 矿工更换worker、controller地址

  • 矿工更换worker、controller地址的消息,由矿工的owner发起,用到的消息类型为:3,ChangeWorkerAddress
  • 只需要owner地址向矿工发送类型3的消息即可完成
  • controller地址将会实时更换,worker地址将会在900个高度确认后更换,约7个半小时

# 构建ChangeWorkerAddress消息

发送者:矿工owner地址
接收者:矿工ID
方法ID:3
数额:0
参数:
{"NewWorker": "新worker的ID/地址", "NewControlAddrs": ["新的controller地址0", "新的controller地址1", "新的controller地址2"]}

示例:

# owner地址离线签名

# 签名后消息推送

# 多签钱包的使用

# 创建多签地址

菜单栏点击“发现”,然后点击多签钱包,进入多签钱包功能页。 点击“添加多签钱包”-选择“创建多签钱包”,进入创建多签钱包页面。

钱包名称:自定义地址名称,不超过20字符
签名者地址:输入自定义数量的签名者地址
批准阈值:提案被批准的最小签名者数量

点击创建,将会发送一条创建消息,消息上链确认后,完成创建。

示例,示例中要创建的多签地址拥有3个签名者,批准阈值为2。

注意:因创建多签时需要发送一条消息上链,因此执行创建多签地址的签名者地址的余额要足以支付手续费用。

# 导入多签地址

当前的钱包地址已经是一个多签地址的签名者时,在点击“添加多签钱包”时,选择“导入多签钱包”。

钱包名称:自定义地址名称,不超过20字符
地址:多签钱包地址,一般为f0开头的ID地址

点击导入即可完成多签地址的导入,当前操作的地址并不是多签地址的签名者之一时,导入操作将会失败。

# 多签地址发送交易

多签地址的交易流程为,签名者向多签地址发起提案,其它签名者批准提案,当批准数量达到批准阈值时,该消息发送成功。 多签地址可发送的消息类型同普通地址一致,不同消息类型的参数一致。

# 发起提案

示例:普通转账消息ID:0,transfer

接收地址:收款地址
数额:转账金额,用户自定义,转账数额和手续费求和不超过余额
方法ID:0
手续费:根据网络费用自动评估最大手续费,高级用户可自定义参数

# 批准提案

一个多签地址中如果存在批准中状态的提案时,未签名者在APP中可查看到该状态的消息。点击查看消息,可执行批准。