如何通过合约直接锁仓及提取HER token

2018-07-17  本文已影响224人  HeroNode

原理说明

HER锁仓奖励合约(HER Tokenbank contract)中提供了deposit 函数接口,通过此接口,已经参与投资的用户可以方便地进行带参调用,随后锁仓合约执行以下操作:

1、验证是否在活动时间内

2、验证合约中的奖励代币是否足够,即是否达到此次锁仓的额度上限100,000,000HER

3、如果上述条件满足,锁仓合约立即将发起者自身所持有的代币依据传参数量(传参数量需小于等于授权额度,否则会失败) 进行转账操作,即扣除发起者身上所持有的指定数量HER代币,并存入合约

以下为具体步骤操作,如果是有直接操作以太坊经验的人,可按照个人喜好调用,不局限于本教程。

具体步骤

1.环境准备

所有操作都将在https://www.myetherwallet.com/#contracts上完成,操作之前请先确保您可以在MyEtherWallet上成功登入账户

2.授权锁仓合约可操作您的HER代币

1、由于合约无法在未经允许的情况下自行扣除您的HER代币,因此这一步需要得到您的授权

https://www.myetherwallet.com/#contracts中的Contract Address 输入框中填入 HER的合约地址:0x491c9a23db85623eed455a8efdd6aba9b911c5df

- 将 HER Contract ABI 拷贝到 ABI / JSON Interface 文本框里面

- 点击 Access 按钮

- 在下面的Read / Write Contract 中选择 approve方法

- 在参数_spender中填入锁仓合约地址: 0x9ea4e6846E46098eb3a678A7061a9A92227AF37A

参数_value是您的钱包中的HER总数量 * 10的18次方,现在假设您要锁仓13000个HER,那么接下来您填的值就是 13000 * 10 ^ 18 = 13000000000000000000000,在正式写入之前,请确保您已经把13000换成了您钱包中的所持有的HER数量并且已经加上18个0

- 选择MetaMask或者您自己的方式登录以太坊账户

- 点击最下面的WRITE按钮

- 在弹出的Warning!对话框中将amount设置为0,gas limit保持默认,点击提交

- 检查交易状态,并确保调用成功

3.开始对HER进行锁仓操作

如果您已完成步骤2,那么现在就可以完成合约调用来锁仓。

- 与步骤2.1一致,在https://www.myetherwallet.com/#contracts中的Contract Address 输入框中填入 HER锁仓合约地址 0x9ea4e6846E46098eb3a678A7061a9A92227AF37A

- 将 HER Tokenbank Contract ABI 拷贝到 ABI / JSON Interface 文本框里面

- 点击 Access 按钮

- 在下面的Read / Write Contract 中选择 deposit方法

- value填入您在步骤2中授权的额度,请保持一致,如 13000000000000000000000

- 选择以太坊账户

- 点击最下面的WRITE按钮

- 在弹出的Warning!对话框中将amount设置为0,gas limit保持默认,点击提交

- 检查交易状态,并确保调用成功

如果您完成了以上操作,您的HER将会被转出,锁在智能合约当中。

4.到期提取奖励,如果没有提取,合约会将币打回原锁仓账户

- 在https://www.myetherwallet.com/#contracts中的Contract Address 输入框中填入 HER锁仓合约地址 0x9ea4e6846E46098eb3a678A7061a9A92227AF37A

- 将 HER Tokenbank Contract ABI 拷贝到 ABI / JSON Interface 文本框里面

- 点击 Access 按钮

- 在下面的Read / Write Contract 中选择 withdraw方法

- 点击最下面的WRITE按钮

- 在弹出的Warning!对话框中将amount设置为0,gas limit保持默认,点击提交

- 检查交易状态,并确保调用成功

5.关闭HER授权(可选操作)

原则上锁仓合约并不会主动访问您的账户,但如果您觉得不够安全,可以关闭锁仓合约的HER访问授权(仅有HER,不支持其他代币访问),可以做如下操作:

重复步骤2的操作,并且把参数_value设置为0,再Write一次即可

HER Contract ABI

[

{

"constant": false,

"inputs": [

{

"name": "spender",

"type": "address"

},

{

"name": "value",

"type": "uint256"

}

],

"name": "approve",

"outputs": [

{

"name": "",

"type": "bool"

}

],

"payable": false,

"stateMutability": "nonpayable",

"type": "function"

}

]

HER Tokenbank Contract ABI

[

{

"constant": false,

"inputs": [],

"name": "withdraw",

"outputs": [],

"payable": false,

"stateMutability": "nonpayable",

"type": "function"

},

{

"constant": false,

"inputs": [

{

"name": "value",

"type": "uint256"

}

],

"name": "deposit",

"outputs": [],

"payable": false,

"stateMutability": "nonpayable",

"type": "function"

}

]

上一篇下一篇

猜你喜欢

热点阅读