【本文目標】微信
經過本文實踐,可使用AlphaWallet錢包完成Repsten Test Network的ERC20的代幣轉帳,凍結,鎖倉投放等功能的驗收測試。網絡
【前置條件】編輯器
1) 懂得在REMIX調試SOLIDITY語言,不熟悉的參考文章:Solidity語言編輯器REMIX指導大全 2)已發佈ERC20的代幣,不熟悉的參考:乾貨|技術小白如何在45分鐘內發行通證(TOKEN)並上線交易(附流程代碼) 3)會發布使用鎖倉合約,不熟悉的參考:區塊鏈100講:代幣鎖倉後逐步釋放的ERC20智能合約實踐函數
【收穫】區塊鏈
1)AlphaWallet是支持ERC875的錢包,同時它也完美支持ERC20的功能。瞭解ERC875請參考【ERC875】HiBlock黑客馬拉松門票從定製到編碼實現測試
2) imToken只支持主網環境的錢包功能,AlphaWallet能支持Ropsten等各類測試網絡,下降智能合約上主網不可篡改的風險。編碼
2.1 發佈CLB代幣3d
獲取CLB的智能合約代碼,在REMIX+MetaMask(Repston測試環境)下發布CLB代幣合約。調試
不會發代幣的參考乾貨|技術小白如何在45分鐘內發行通證(TOKEN)並上線交易(附流程代碼)此處不作詳述。ci
輝哥發佈成功的代幣連接: https://ropsten.etherscan.io/tx/0xd84b11e4558c7d40cf6a26b02320e2aefe51caca7942fbd8d6dcf5e89547c38b
輝哥發佈使用的帳號信息ACCOUNT1: 地址:0xD1F7922e8b78cBEB182250753ade8379d1E09949 私鑰:FE8514896FE1882D8751AD012E208889889602FB374A249BCF9DA9FD26EF3655
可見其對應的智能合約地址(Contract Address ): 0xe37ffd55b6c135209b6742b7fbe096ae2837fce6
代幣信息以下:
name = "Colorbay Token";
symbol = "CLB";
decimals = 18;
totalSupply = 10億;
2.2 下載AlphaWallet錢包,導入私鑰到錢包
1)下載安裝APP
輝哥在官網(https://awallet.io/)下載APP完成安裝。 設置網絡爲Ropston(test)網絡。
2)導入私鑰地址到錢包
地址:0xD1F7922e8b78cBEB182250753ade8379d1E09949 私鑰:FE8514896FE1882D8751AD012E208889889602FB374A249BCF9DA9FD26EF3655
導入成功後就能夠看到CLB代幣,一共有10個億。
初始10億CLB
2.3 轉帳,新的錢包能呈現代幣金額
1) 建立錢包
在AlphaWallet上建立新的錢包 ACCOUNT2 「0xda5c82f12f5c2ab1ef918afefe089c76103f453c 」
2) 轉帳/查詢
切換到ACCOUNT1帳號下,轉帳10000個CLB給ACCOUNT2 轉帳成功後,等待2分鐘,能夠看到ACCOUNT2已經有1萬個CLB存在了。
交易信息: https://ropsten.etherscan.io/tx/0xebab900d530f2eecbeba197bea0abc928ae00c6b3e77eee42b86e517e941d0ec
ACCOUNT2帳號餘額截圖:
2.4 凍結帳戶不可進行轉帳
使用https://www.myetherwallet.com/#contracts進行帳戶凍結調用。 Contract Address: 0xe37ffd55b6c135209b6742b7fbe096ae2837fce6
ABI / JSON Interface:(REMIX編譯環境可獲取),代碼太長,存放到知識星球了,請加入自取文件:Colorbay.min.ABI。
知識星球對應文章附件還存放了CLB和鎖倉智能合約的源碼等內容。
在MetaMask的帳號停留在ACCOUNT1建立CLB代幣帳號下,執行ACCOUT1動做:
凍結ACCOUNT1
凍結成功後,在AlphaWallet執行轉帳給ACCOUNT2帳號的操做,會返回失敗,證實凍結帳戶功能成功。 https://ropsten.etherscan.io/tx/0x2d85e4523dcbc6d2357fe33d5f9efe903b1ec69feaf25ddcf97f885961d244a5
執行freezeAccount的false選項,把ACCOUNT1解凍結掉。
參考文章區塊鏈100講:代幣鎖倉後逐步釋放的ERC20智能合約實踐 完成鎖倉合約的發佈。
3.1 建立鎖倉智能合約
鎖倉合約編譯成功後,在2018/08/14 16:25時在remix執行建立鎖倉合約動做。假設該鎖倉合約爲激勵輝哥參與彩貝項目發放的代幣期權。
收益帳戶爲"0xda5c82f12f5c2ab1ef918afefe089c76103f453c";
目標開始時間:2018/08/14 16:35 ; 鎖倉凍結操做時間:2分鐘; 代幣期權週期時間:10分; 支持激勵撤銷功能;
constructor("0xda5c82f12f5c2ab1ef918afefe089c76103f453c", "1534235700", "120", "600", true)
智能合約記錄: https://ropsten.etherscan.io/tx/0x74e3cae0a6872282e396f91899f502e2f85ae54a3ec31d7f53a739383854557a
智能合約的地址: Contract 0xaf9cdde9bbee1b3d26180ce1daeab540df33cf3d
3.2 轉帳到鎖倉智能合約
在2018/08/14 16:30,公司老闆在AlphaWallet下,從ACCOUNT1帳戶往鎖倉智能合約打20000個CLB。
轉帳成功的交易記錄: https://ropsten.etherscan.io/tx/0x84d6e6f3e4d10607d14fe993bd1afd750db1edc9624261bb781c1799e805fff7
3.3 執行後代幣能釋放到目標帳戶
在2018/08/14 16:38時,在ACCOUNT1下老闆執行釋放期權的函數調用:
release("0xe37ffd55b6c135209b6742b7fbe096ae2837fce6")
執行截圖:
釋放激勵
執行成功連接: https://ropsten.etherscan.io/tx/0xe9063edca480ea504028e10583178929024954c828107bd1acb49ec8e0955f6f
查看AlphaWallet 輝哥的帳號"0xda5c82f12f5c2ab1ef918afefe089c76103f453c",已收到了6400個CLB代幣。
3.3 取消代幣期權激勵,返回代幣到ACCOUNT1帳號
輝哥由於我的緣由,須要離開彩貝項目組。老闆在ACCOUNT1帳號在16:40時執行取消代幣期權激勵命令函數,把未分配的代幣回收到ACCOUNT1帳號下
revoke("0xe37ffd55b6c135209b6742b7fbe096ae2837fce6")
執行截圖:
合同解除,返回代幣
未分配CLB代幣已打回到ACCOUNT1 老闆帳戶下。
交易記錄爲 https://ropsten.etherscan.io/tx/0x16f4567f96a58b3f94699049e89db5b2b2b3d3d334daffa7e5f7e5ad53dd2d31, 返回了 9,633.333333333333333334 ERC20 (CLB)。
ACCOUNT1更新
3.4 剩餘已受權未釋放部分發放給輝哥
16:42,由於時間差的緣由,還須要執行release命令把剩餘已受權未釋放部分發放給輝哥。
release("0xe37ffd55b6c135209b6742b7fbe096ae2837fce6")
執行成功記錄: https://ropsten.etherscan.io/tx/0x58889376a496221f03b5424e3959ec438ac1973575a2e9aa21005a2ce493e826 3,966.666666666666666666 ERC20 (CLB)
AlphaWallet錢包是一個很是優秀的錢包,跟imToken相比,它有如下功能讓輝哥着迷:
1) 支持ERC875代幣功能,能進行門票轉帳等; 2) 支持ERC721代幣功能,能進行非同質化物品轉讓(還未測試); 3) 支持ERC20代幣功能; 4) 能夠在各類測試環境(Ropsten Test Network)進行代幣和智能合約的測試;
本文做者:HiBlock區塊鏈技術佈道羣-輝哥
原文發佈於簡書
原文連接:
https://www.jianshu.com/p/b62cbfe6d66c
加微信baobaotalk_com,加入技術佈道羣