詳述
方法git
totalSupply name symbol decimals balanceOf transfer
事件github
transfer
NEP-5提案概述了NEO區塊鏈的token標準,該標準將爲系統提供token化的智能合約的通用交互機制。其定義了這種機制以及其特徵的原因。還提供了模板和示例以支持開發社區。函數
隨着NEO區塊鏈的發展,智能合約的部署和調用變得愈來愈重要。若是沒有一個標準的交互方案,系統須要爲每一個合同維護一個惟一的API接口,不管其於其餘合約的類似程度。token化合約自身就是這一需求的主要例子,因爲其主要操做機制是相同的。與這些token交互的標準方法使得整個生態系統免於爲每個部署token的智能合約維護所需基本操做的定義。區塊鏈
在下面方法定義中,咱們提供合約中所定義的函數方法的定義以及其調用參數code
方法token
totalSupply接口
public static BigInteger totalSupply()
Returns 部署在系統內該token的總數.事件
nameci
public static string name()
Returns token的名稱. e.g. 「MyToken」.
該方法每次被調用時必需返回同樣的值.開發
symbol
public static string symbol()
Returns 合約所管理的token的短字符串符號 . e.g. 「MYT」. 該符號須要應該比較短小 (建議3-8個字符), 沒有空白字符或換行符 ,並限制爲大寫拉丁字母 (26個英文字符).
該方法每次被調用時必需返回同樣的值.
decimals
public static byte decimals()
Returns token使用的小數位數 – e.g. 8, 意味着把token數量除以100,000,000來得到它的表示值.
該方法每次被調用時必需返回同樣的值.
balanceOf
public static BigInteger balanceOf(byte[] account)
Returns 帳戶的token金額.
參數帳戶必需是一個20字節的地址。若是不是,該方法會拋出一個異常。
若是該帳戶是個未被使用的地址,該方法會返回0
transfer
public static bool transfer(byte[] from, byte[] to, BigInteger amount)
從一個帳戶轉移必定數量的token到另外一個帳戶.
參數from和to必需是20字節的地址,不然,該方法會報錯。
參數amount必需大於等於0.不然,該方法會報錯。
若是帳戶沒有足夠的支付金額,該函數會返回false.
若是方法執行成功,會觸發轉移事件,並返回true,即便數量爲0或者from和to是同一個地址
函數會檢查from的地址是否等於調用合約的hash.若是是,則轉移會被處理;不然,函數會調用SYSCALL Neo.Runtime.CheckWitness來確認轉移
若是to地址是一個部署合約,函數會檢查其payable標誌位來決定是否把token轉移到該合約。
若是轉移沒有被處理,函數會返回false.
事件
transfer
public static event transfer(byte[] from, byte[] to, BigInteger amount)
會在token被轉移時觸發,包括零值轉移。
一個建立新token的token合約在建立token時會觸發轉移事件,並將from的地址設置爲null
一個銷燬token的token合約在銷燬token時會觸發轉移事件,並將to的地址設置爲null
• Woolong: https://github.com/lllwvlvwll...
• ICO Template: https://github.com/neo-projec...