caver.kct.kip37
caver.kct.kip37 "可幫助您在 kaia 區塊鏈上輕鬆處理以 JavaScript 對象形式實現 KIP-37 的智能合約。
caver.kct.kip37 "繼承了caver.contract,以實現 KIP-37 代幣合約。 caver.kct.kip37 "擁有與 "caver.contract "相同的屬性,但還有其他方法來實現額外的功能。 本節僅介紹 "caver.kct.kip37 "新增的綁定方法。
為 caver-js 實現 KIP-37 的代碼可在 Kaia Contracts Github Repo 上獲取。 用於 caver-js 的 KIP-37 支持 Ownable 接口。 使用此功能,您可以在部署合約時指定合約所有者
有關 KIP-37 的更多信息,請參閱 Kaia 改進提案。
注意 caver.kct.kip37
從 caver-js v1.5.7 開始支持。
caver.kct.kip37.deploy
caver.kct.kip37.deploy(tokenInfo, deployer)
將 KIP-37 代幣合約部署到 kaia 區塊鏈上。 使用 caver.kct.kip37.deploy 部署的合約是一種遵循 KIP-37 標準的不可篡改令牌。
成功部署後,將使用新的 KIP17 實例解 決承諾問題。
參數
名稱 | 類型 | 描述 |
---|---|---|
tokenInfo | object | 在 kaia 區塊鏈上部署 KIP-37 代幣合約所需的信息。 詳見下表。 |
deployer | string \ | object |
tokenInfo 對象必須包含以下內容:
名稱 | 類型 | 描述 |
---|---|---|
uri | string | 所有標記類型的 URI,依靠標記類型 ID 替換機制。 |
返回價值
PromiEvent`:一個承諾組合事件發射器,用一個新的 KIP17 實例來解決。 此外,還可能發生以下事件:
名稱 | 類型 | 描述 |
---|---|---|
transactionHash | string | 在事務發送且事務哈希值可用後立即觸發。 |
receipt | object | 當交易收據可用時觸發。 如果您想了解收據對象內部的屬性,請參閱 getTransactionReceipt。 來自 KIP17 實例的收據有一個通過 abi 解析的 "事件 "屬性,而不是 "日誌 "屬性。 |
error | Error | 發送過程中發生錯誤時觸發。 |
代幣註冊
-
要在區塊資源管理器上註冊代幣,合約創建者必須填寫一份提交申請表。 記下表格上所需的具體信息。
-
智能合約環境
-
編譯器類型固態
-
編譯器版本:v0.8.4+commit.c7e474f2
-
開源許可證類型:MIT
-
-
智能合約詳情
-
優化: --optimize-run 200
-
源代碼:KIP17 合約 Github 鏈接。
-
-
ABI 編碼值:kip17JsonInterface at dev - kaiachain/caver-js - GitHub
示例
// using the promise> caver.kct.kip37.deploy({ uri: 'https://caver.example/{id}.json',}, '0x{address in hex}').then(console.log)KIP37 { ... _address: '0x7314B733723AA4a91879b15a6FEdd8962F413CB2', _jsonInterface: [ ... { anonymous: false, inputs: [{ indexed: false, name: 'value', type: 'string' }, { indexed: true, name: 'id', type: 'uint256' }], name: 'URI', type: 'event', signature: '0x6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b', } ] }// Send object as second parameter> caver.kct.kip37.deploy({ uri: 'https://caver.example/{id}.json', }, { from: '0x{address in hex}', feeDelegation: true, feePayer: '0x{address in hex}', }).then(console.log)// using event emitter and promise> caver.kct.kip37.deploy({ uri: 'https://caver.example/{id}.json',}, '0x{address in hex}').on('error', function(error) { ... }).on('transactionHash', function(transactionHash) { ... }).on('receipt', function(receipt) { console.log(receipt.contractAddress) // contains the new token contract address}).then(function(newKIP37Instance) { console.log(newKIP37Instance.options.address) // instance with the new token contract address})
caver.kct.kip37.detectInterface
caver.kct.kip37.detectInterface(contractAddress
返回代幣合約實現的 接口信息。 此靜態函數將使用 kip17.detectInterface。
參數
名稱 | 類型 | 描述 |
---|---|---|
contractAddress | string | KIP-37 代幣合約的地址 |
返回價值
Promise "會返回一個 "對象",其中包含每個KIP-37 接口是否已實現的布爾值結果。
示例
> caver.kct.kip37.detectInterface('0x{address in hex}').then(console.log){ IKIP37: true, IKIP37Metadata: true, IKIP37Mintable: true, IKIP37Burnable: true, IKIP37Pausable: true,}
caver.kct.kip37.create
caver.kct.kip37.create([tokenAddress
創建新的 KIP17 實例及其綁定的方法和事件。 該功能與 [new KIP17](#new-kip17)相同。
注意 caver.kct.kip37.create
從 caver-js v1.6.1 開始支持。
參數
請參見 [new KIP17](#new-kip17)。
返回價值
請參見 [new KIP17](#new-kip17)。
示例
// Create a KIP37 instance without a parameter> const kip37 = caver.kct.kip37.create()// Create a KIP37 instance with a token address> const kip37 = caver.kct.kip37.create('0x{address in hex}')
新 KIP17
new caver.kct.kip37([tokenAddress])