QRC20簡介
QRC20是 QTUM 上的代幣標準,其內容和以太坊上的ERC20標準基本一致。
合約程式碼需實現以下函式介面和事件:
function name() constant returns (string name)
function symbol() constant returns (string symbol)
function decimals() constant returns (uint8 decimals)
function totalSupply() constant returns (uint256 totalSupply)
function balanceOf(address _owner) constant returns (uint256 balance)
function transfer(address _to, uint256 _value) returns (bool success)
function transferFrom(address _from, address _to, uint256 _value) returns (bool success)
function approve(address _spender, uint256 _value) returns (bool success)
function allowance(address _owner, address _spender) constant returns (uint256 remaining)
event Transfer(address indexed _from, address indexed _to, uint256 _value)
event Approval(address indexed _owner, address indexed _spender, uint256 _value)
複製程式碼
程式碼書寫
我們為大家提供了一份示例程式碼:QRC20Token,你可以使用這份合約程式碼來發布你的代幣。
在檔案QRC20Token.sol
中,修改name、symbol、totalSupply這三個變數值,他們分別代表代幣名稱、代幣符號、代幣發行總量。
合約釋出
安裝錢包
從 eco.qtum.org/wallet 或者 github.com/qtumproject… 根據作業系統和架構選擇對應的連結下載最新的 Qtum Core 錢包。
錢包安裝完成後,需要轉入一定數量(大於1個)的QTUM到錢包中用來支付後續建立合約的手續費。 點選Request payment
即可獲得你的錢包地址。
編譯合約
在瀏覽器中開啟網址ethereum.github.io/browser-sol…
點選左上角的 “+” 按鈕,新建檔案 SafeMath.sol 和 QRC20Token.sol,將之前寫好的合約程式碼複製貼上進去。
在頁面右側,點選 “detail” 按鈕,在彈出的頁面中拷貝 BYTECODE 的 object 項內容,並儲存下來。
釋出合約
開啟Qtum Core錢包,進入“Smart Contract” =》 “Create”, 將上一步所得的16進位制BYTECODE貼上到文字框中。
點選“Create Contract”按鈕,儲存返回結果中的 SenderAddress 和 ContractAddress 以便後續使用。
等待片刻,讓交易得到確認,我們的合約就建立成功了。根據合約程式碼,所有的初始代幣都會分配給合約的建立者,也就是SenderAddress。
測試網路
在合約釋出到主網之前,可先在測試網路中進行測試,測試網路中操作方法和主網的一致。
用命令列啟動Qtum-qt的時候,帶上--testnet
即可進入測試網路。
測試網路中的Qtum可在 測試幣水龍頭 中獲得。
錢包使用
新增代幣
在 Qtum Core錢包中,進入 “QRC Token” 頁面,點選 “Add Token”,填寫釋出合約時所得的ContractAddress,並選擇SenderAddress作為Token Address, 點選“Confirm”按鈕代幣就新增成功了。
如果在Token Address的下拉選單中沒有找到之前的SenderAddress,向SenderAddress裡傳送一些Qtum後再試一次。
接發代幣
在 “QRC Token” 頁面,點選選擇需要操作的代幣,然後點選下面的“Send” 和“Receive”進行傳送和接收。
其他常見問題
- 傳送代幣需要一定的QTUM作為手續費,請確保持有代幣的那個QTUM地址下有足夠的餘額。
- 傳送代幣會預扣0.1 QTUM的手續費,交易確認後會以一筆挖礦收入的形式返還多餘的手續費,實際消耗的手續費大約為0.02 QTUM。
- 不符合QRC20標準的合約不會自動新增到官方區塊鏈瀏覽器中, 在主網上釋出合約前請檢查好程式碼。