跳至主要内容
本页面使用机器翻译自英语,可能包含错误或不清楚的语言。如需最准确的信息,请参阅英文原文。由于更新频繁,部分内容可能与英文原文有出入。请加入我们在 Crowdin 上的努力,帮助我们改进本页面的翻译。 (Crowdin translation page, Contributing guide)

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 实例解决承诺问题。

参数

名称类型描述
tokenInfoobject在 kaia 区块链上部署 KIP-37 代币合约所需的信息。 详见下表。
deployerstring \object

tokenInfo 对象必须包含以下内容:

名称类型描述
uristring所有标记类型的 URI,依靠标记类型 ID 替换机制

返回价值

PromiEvent`:一个承诺组合事件发射器,用一个新的 KIP17 实例来解决。 此外,还可能发生以下事件:

名称类型描述
transactionHashstring在事务发送且事务哈希值可用后立即触发。
receiptobject当交易收据可用时触发。 如果您想了解收据对象内部的属性,请参阅 getTransactionReceipt。 来自 KIP17 实例的收据有一个通过 abi 解析的 "事件 "属性,而不是 "日志 "属性。
errorError发送过程中发生错误时触发。

代币注册

  1. 要在区块资源管理器上注册代币,合约创建者必须填写一份提交申请表。 记下表格上所需的具体信息。

  2. 智能合约环境

    • 编译器类型固态

    • 编译器版本:v0.8.4+commit.c7e474f2

    • 开源许可证类型:MIT

  3. 智能合约详情

  4. ABI 编码值:kip17JsonInterface at dev - kaiachain/caver-js - GitHub

示例


// using the promise
> caver.kct.kip17.deploy({
name: 'Jasmine',
symbol: 'JAS',
}, '0x{address in hex}').then(console.log)
KIP17 {
...
_address: '0xfA7D967f414468083aDAd85257a2cBD6019693C2',
_jsonInterface: [
...
{
anonymous: false,
inputs: [
{ indexed: true, name: 'owner', type: 'address' },
{ indexed: true, name: 'operator', type: 'address' },
{ indexed: false, name: 'approved', type: 'bool' }
],
name: 'ApprovalForAll',
type: 'event',
signature: '0x17307...'
}
]
}
// Send object as second parameter
> caver.kct.kip17.deploy({
name: 'Jasmine',
symbol: 'JAS',
},
{
from: '0x{address in hex}',
feeDelegation: true,
feePayer: '0x{address in hex}',
}).then(console.log)
// using event emitter and promise
> caver.kct.kip17.deploy({
name: 'Jasmine',
symbol: 'JAS',
}, '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(newKIP17Instance) {
console.log(newKIP17Instance.options.address) // instance with the new token contract address
})

caver.kct.kip37.detectInterface


caver.kct.kip37.detectInterface(contractAddress

返回代币合约实现的接口信息。 此静态函数将使用 kip17.detectInterface

参数

名称类型描述
contractAddressstringKIP-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])

创建新的 KIP17 实例及其绑定的方法和事件。

参数

名称类型描述
tokenAddressstring(可选)KIP-37 代币合约的地址,可稍后通过 kip17.options.address = '0x1234...' 指定。

返回价值

类型描述
objectKIP17 实例及其绑定的方法和事件。

示例


// Create a KIP37 instance without a parameter
> const kip37 = new caver.kct.kip37()
// Create a KIP37 instance with a token address
> const kip37 = new caver.kct.kip37('0x{address in hex}')

kip17.clone


kip17.clone([tokenAddress])

克隆当前 KIP17 实例。

参数

名称类型描述
tokenAddressstring(可选)部署另一个 KIP-17 代币的智能合约地址。 如果省略,则将设置为原始实例中的合约地址。

返回价值

类型描述
object原始 KIP17 实例的克隆。

示例


> const kip37 = new caver.kct.kip37(address)
// Clone without a parameter
> const cloned = kip37.clone()
// Clone with the address of the new token contract
> const cloned = kip37.clone('0x{address in hex}')

kip17.detectInterface


kip17.detectInterface()

返回代币合约实现的接口信息。

参数

返回价值

Promise "会返回一个 "对象",其中包含每个KIP-37 接口是否已实现的布尔值结果。

示例


> kip37.detectInterface().then(console.log)
{
IKIP37: true,
IKIP37Metadata: true,
IKIP37Mintable: true,
IKIP37Burnable: true,
IKIP37Pausable: true,
}

kip17.supportsInterface


kip17.supportsInterface(interfaceId)

如果此合约实现了由 interfaceId 定义的接口,则返回 true

参数

名称类型描述
interfaceIdstring要检查的 interfaceId。

返回价值

Promise 返回 boolean:如果此合约实现了由 "interfaceId 定义的接口,则返回 "true"。

示例


> kip17.supportsInterface('0x80ac58cd').then(console.log)
true
> kip17.supportsInterface('0xa22cb465').then(console.log)
false

kip17.burn


kip37.uri(id)

返回给定标记的不同统一资源标识符 (URI)。

如果任何 URI 中存在字符串 {id},该函数将用十六进制形式的实际代币 ID 代替。 请参阅 KIP-34 元数据

参数

名称类型描述
idBigNumber \string \

注意 index参数接受number类型,但如果输入值超出了number.MAX_SAFE_INTEGER的范围,可能会导致意外结果或错误。 在这种情况下,建议使用 BigNumber 类型,特别是对于 uint256 大小的数值输入值。

返回价值

Promise 返回 string:代币的名称。

示例


> kip37.uri('0x0').then(console.log)
'https://caver.example/0000000000000000000000000000000000000000000000000000000000000000.json'

kip17.totalSupply


kip17.totalSupply()

返回特定代币的总供应量。

参数

名称类型描述
idBigNumber \string \

注意 index参数接受number类型,但如果输入值超出了number.MAX_SAFE_INTEGER的范围,可能会导致意外结果或错误。 在这种情况下,建议使用 BigNumber 类型,特别是对于 uint256 大小的数值输入值。

返回价值

Promise 返回 BigNumber:代币总数。

示例


> kip17.totalSupply().then(console.log)
10

kip17.balanceOf


kip37.balanceOf(account, id)

返回 account 拥有的代币类型 id 的代币数量。

参数

名称类型描述
accountstring您要查看余额的账户地址。
idBigNumber \string \

注意 index参数接受number类型,但如果输入值超出了number.MAX_SAFE_INTEGER的范围,可能会导致意外结果或错误。 在这种情况下,建议使用 BigNumber 类型,特别是对于 uint256 大小的数值输入值。

返回价值

Promise返回BigNumber`:账户拥有的代币数量。

示例


> kip17.balanceOf('0x{address in hex}').then(console.log)
9

kip17.balanceOf


kip37.balanceOfBatch(accounts, ids)

返回多个账户/代币对的余额。 balanceOfBatch "是balanceOf的批处理操作,包含 "accounts "和 "ids "的数组长度必须相同。

参数

名称类型描述
accountArray您要查看余额的账户地址。
idsArray要查看余额的代币 ID 数组。

返回价值

承诺 "返回 "数组":多个账户/代币对的余额。

示例


> kip37.balanceOfBatch(['0x{address in hex}', '0x{address in hex}'], [0, 1]).then(console.log)
[ 20, 30 ].

kip17.isMinter


kip17.isMinter(address)

如果给定账户是可以暂停转让代币的暂停者,则返回 true

参数

名称类型描述
地址string检查是否拥有铸币权的账户地址。

返回价值

Promise 返回 `boolean:如果账户是矿工,则返回 "true"。

示例


> kip17.isMinter('0x{address in hex}').then(console.log)
true
> kip17.isMinter('0x{address in hex}').then(console.log)
false

kip17.isPauser


kip17.isPauser(address)

如果给定账户是可以暂停转让代币的暂停者,则返回 true

参数

名称类型描述
addressstring要检查的账户地址,以确定该账户是否有权暂停代币转账。

返回价值

Promise 返回 `boolean:如果账户是 pauser,则返回 "true"。

示例


> kip17.isPauser('0x{address in hex}').then(console.log)
true
> kip17.isPauser('0x{address in hex}').then(console.log)
false

kip17.paused


kip17.paused()

返回代币合约的交易(或特定代币)是否暂停。

如果 id 参数未定义,则返回代币合约的交易是否暂停。 如果定义了 id 参数,则返回特定代币是否暂停。

参数

名称类型描述
idBigNumber \string \

注意 index参数接受number类型,但如果输入值超出了number.MAX_SAFE_INTEGER的范围,可能会导致意外结果或错误。 在这种情况下,建议使用 BigNumber 类型,特别是对于 uint256 大小的数值输入值。

返回价值

Promise 返回 boolean:如果合约暂停,则返回 true

示例


// without token id parameter
> kip37.paused().then(console.log)
true
> kip37.paused().then(console.log)
false
// with token id parameter
> kip37.paused(0).then(console.log)
true
> kip37.paused(1).then(console.log)
false

kip17.isApprovedForAll


kip17.isApprovedForAll(owner, operator)

查询给定所有者的操作员批准状态。 如果操作员已获得给定所有者的批准,则返回 true

参数

名称类型描述
ownerstring所有者地址。
operatorstring操作员的地址。

返回价值

Promise 返回 boolean:如果操作符通过则返回 true,否则返回 false

示例


> kip17.isApprovedForAll('0x{address in hex}', '0x{address in hex}').then(console.log)
false
> kip17.isApprovedForAll('0x{address in hex}', '0x{address in hex}').then(console.log)
true

kip17.name


kip37.create(id, initialSupply [, uri] [, sendParam])

创建新的代币类型,并将 initialSupply 分配给矿工。

请注意,此方法将向 kaia 网络提交交易,而 kaia 网络将向发送方收取交易费。

参数

名称类型描述
idBigNumber \string \
initialSupplyBuffer \string \
uristring(可选)已创建标记的 URI。
sendParamobject(可选)保存发送事务所需参数的对象。

注意 index参数接受number类型,但如果输入值超出了number.MAX_SAFE_INTEGER的范围,可能会导致意外结果或错误。 在这种情况下,建议使用 BigNumber 类型,特别是对于 uint256 大小的数值输入值。

tokenInfo 对象必须包含以下内容:

名称类型描述
fromstring(可选) 发送交易的地址。 如果省略,将由 kip17.options.from 设置。 如果未提供 sendParam 对象中的 fromkip17.options.from,则会发生错误。
gasnumber \string
gasPricenumber \string
valuenumber \string \
feeDelegationboolean(可选,默认为 false)是否使用费用委托交易。 如果省略,将使用 `kip17.options.feeDelegation'。 如果两者都省略,则不使用收费授权。
feePayerstring(可选)支付交易费的缴费人地址。 当 "feeDelegation "为 "true "时,该值将设置为交易中的 "feePayer "字段。 如果省略,将使用 `kip17.options.feePayer'。 如果两者都省略,则会出错。
feeRatiostring(可选)缴费人将承担的交易费比例。 如果 "feeDelegation "为 "true",且 "feeRatio "设置为有效值,则使用部分费用委托交易。 有效范围为 1 到 99。 不允许比率为 0 或 100 及以上。 如果省略,将使用 `kip17.options.feeRatio'。

注意 feeDelegationfeePayerfeeRatio从 caver-js v1.6.1 开始支持。

返回价值

Promise 返回 object - 包含事务执行结果的收据。 如果您想了解收据对象内部的属性,请参阅 getTransactionReceipt 的说明。 来自 KIP17 实例的收据有一个通过 abi 解析的 "事件 "属性,而不是 "日志 "属性。

示例


// Send via a sendParam object with the from field given
> kip37.create(2, '1000000000000000000', { from: '0x{address in hex}' }).then(console.log)
{
blockHash: '0xf1cefd8efbde83595742dc88308143dde50e7bee39a3a0cfea92ed5df3529d61',
blocknumber: 2823,
contractAddress: null,
from: '0xfb8789cd544881f820fbff1728ba7c240a539f48',
...
status: true,
to: '0x394091d163ebdebcae876cb96cf0e0984c28a1e9',
...
events: {
TransferSingle: {
address: '0x394091D163eBDEbcAe876cb96CF0E0984C28a1e9',
blockNumber: 2823,
transactionHash: '0xee8cdaa0089681d90a52c1539e75c6e26b3eb67affd4fbf70033ba010a3f0d26',
transactionIndex: 0,
blockHash: '0xf1cefd8efbde83595742dc88308143dde50e7bee39a3a0cfea92ed5df3529d61',
logIndex: 0,
id: 'log_ca64e74b',
returnValues: {
'0': '0xfb8789cD544881F820Fbff1728Ba7c240a539F48',
'1': '0x0000000000000000000000000000000000000000',
'2': '0xfb8789cD544881F820Fbff1728Ba7c240a539F48',
'3': '2',
'4': '1000000000000000000',
operator: '0xfb8789cD544881F820Fbff1728Ba7c240a539F48',
from: '0x0000000000000000000000000000000000000000',
to: '0xfb8789cD544881F820Fbff1728Ba7c240a539F48',
id: '2',
value: '1000000000000000000',
},
event: 'TransferSingle',
signature: '0xc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62',
raw: {
data: '0x...40000',
topics: [ '0xc3d58...', '0x00...f48', '0x00...000', '0x00...f48' ],
},
},
},
}
// Using FD transaction to execute the smart contract
> kip37.create(2, '1000000000000000000', {
from: '0x{address in hex}'
feeDelegation: true,
feePayer: '0x{address in hex}'
}).then(console.log)
// Using kip37.options.from
// If the value of kip37.options.from is set, this value is used as the default value
// unless you specify `from` in the sendParam object when sending a transaction with a kip37 instance.
> kip37.options.from = '0x{address in hex}'
> kip37.create(2, '1000000000000000000').then(console.log)

kip17.setApprovalForAll


kip17.setApprovalForAll(to, approved [, sendParam])

批准给定操作符 "转 "或禁止给定操作符转移所有者的所有代币。

请注意,此方法将向 kaia 网络提交交易,而 kaia 网络将向发送方收取交易费。

参数

名称类型描述
operatorstring批准/禁止转让所有者所有代币的账户地址。
approvedboolean如果 "true",该操作符将被批准。 如果为 false,则不允许使用操作符。
sendParamobject(可选)一个对象,包含用于发送事务的定义参数。 有关 sendParam 的更多信息,请参阅 [approve] 的参数说明。

返回价值

Promise 返回 object - 包含事务执行结果的收据。 如果您想了解收据对象内部的属性,请参阅 getTransactionReceipt 的说明。 来自 KIP17 实例的收据有一个通过 abi 解析的 "事件 "属性,而不是 "日志 "属性。

示例


// Send via a sendParam object with the from field given
> kip37.setApprovalForAll('0x{address in hex}', true, { from: '0x{address in hex}' }).then(console.log)
{
blockHash: '0x0ee7be40f8b9f4d93d68235acef9fba08fde392a93a1a1743243cb9686943a47',
blockNumber: 3289,
contractAddress: null,
from: '0xfb8789cd544881f820fbff1728ba7c240a539f48',
...
status: true,
to: '0x394091d163ebdebcae876cb96cf0e0984c28a1e9',
...
events: {
ApprovalForAll: {
address: '0x394091D163eBDEbcAe876cb96CF0E0984C28a1e9',
blockNumber: 3289,
transactionHash: '0x5e94aa4af5f7604f1b32129fa8463c43cae4ff118f80645bfabcc6181667b8ab',
transactionIndex: 0,
blockHash: '0x0ee7be40f8b9f4d93d68235acef9fba08fde392a93a1a1743243cb9686943a47',
logIndex: 0,
id: 'log_b1f9938f',
returnValues: {
'0': '0xfb8789cD544881F820Fbff1728Ba7c240a539F48',
'1': '0xF896C5aFD69239722013aD0041EF33B5A2fDB1A6',
'2': true,
account: '0xfb8789cD544881F820Fbff1728Ba7c240a539F48',
operator: '0xF896C5aFD69239722013aD0041EF33B5A2fDB1A6',
approved: true,
},
event: 'ApprovalForAll',
signature: '0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31',
raw: {
data: '0x00...001',
topics: [ '0x17307...', '0x00...f48', '0x00...1a6' ],
},
},
},
}
// Using FD transaction to execute the smart contract
> kip37.setApprovalForAll('0x{address in hex}', true, {
from: '0x{address in hex}'
feeDelegation: true,
feePayer: '0x{address in hex}'
}).then(console.log)
// Using kip37.options.from
// If the value of kip37.options.from is set, this value is used as the default value
// unless you specify `from` in the sendParam object when sending a transaction with a kip37 instance.
> kip37.options.from = '0x{address in hex}'
> kip37.setApprovalForAll('0x{address in hex}', true).then(console.log)

kip17.safeTransferFrom


kip17.safeTransferFrom(from, to, tokenId [, data] [, sendParam])

安全地将特定代币类型 "id "的给定 "金额 "代笔从 "发送方 "传输到 "接收方"。

授权发送代币所有者代币的地址(操作员)或代币所有者本人将执行该代币转移交易。 因此,授权地址或令牌所有者应是该交易的发送方,其地址必须在 sendParam.fromkip17Instance.options.from 中给出。 除非同时提供 sendParam.fromkip17Instance.options.from,否则会发生错误。

如果 to 是合约地址,则必须执行 IKIP17Receiver.onKIP17Received. 否则,转账将被撤销。

请注意,此方法将向 kaia 网络提交交易,而 kaia 网络将向发送方收取交易费。

参数

名称类型描述
fromstring拥有要与津贴机制一起发送的代币的账户地址。
recipientstring接收代币的账户地址。
idBigNumber \string \
数量Buffer \string \
dataBuffer \string \
sendParamobject(可选)一个对象,包含用于发送事务的定义参数。 有关 sendParam 的更多信息,请参阅 [approve] 的参数说明。

注意 index参数接受number类型,但如果输入值超出了number.MAX_SAFE_INTEGER的范围,可能会导致意外结果或错误。 在这种情况下,建议使用 BigNumber 类型,特别是对于 uint256 大小的数值输入值。

返回价值

Promise 返回 object - 包含事务执行结果的收据。 如果您想了解收据对象内部的属性,请参阅 getTransactionReceipt 的说明。 来自 KIP17 实例的收据有一个通过 abi 解析的 "事件 "属性,而不是 "日志 "属性。

示例


// Send via a sendParam object with the from field given (without data)
> kip37.safeTransferFrom('0x{address in hex}', '0x{address in hex}', 2, 10000, { from: '0x{address in hex}' }).then(console.log)
{
blockHash: '0x7dbe4c5bd916ad1aafef87fe6c8b32083080df4ec07f26b6c7a487bb3cc1cf64',
blocknumber: 3983,
contractAddress: null,
from: '0xfb8789cd544881f820fbff1728ba7c240a539f48',
...
status: true,
to: '0x394091d163ebdebcae876cb96cf0e0984c28a1e9',
...
events: {
TransferSingle: {
address: '0x394091D163eBDEbcAe876cb96CF0E0984C28a1e9',
blockNumber: 3983,
transactionHash: '0x0efc60b88fc55ef37eafbd18057404334dfd595ce4c2c0ff75f0922b928735e7',
transactionIndex: 0,
blockHash: '0x7dbe4c5bd916ad1aafef87fe6c8b32083080df4ec07f26b6c7a487bb3cc1cf64',
logIndex: 0,
id: 'log_cddf554f',
returnValues: {
'0': '0xfb8789cD544881F820Fbff1728Ba7c240a539F48',
'1': '0xfb8789cD544881F820Fbff1728Ba7c240a539F48',
'2': '0xF896C5aFD69239722013aD0041EF33B5A2fDB1A6',
'3': '2',
'4': '1000',
operator: '0xfb8789cD544881F820Fbff1728Ba7c240a539F48',
from: '0xfb8789cD544881F820Fbff1728Ba7c240a539F48',
to: '0xF896C5aFD69239722013aD0041EF33B5A2fDB1A6',
id: '2',
value: '1000',
},
event: 'TransferSingle',
signature: '0xc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62',
raw: {
data: '0x00...3e8',
topics: [ '0xc3d58...', '0x00...f48', '0x00...f48', '0x00...1a6' ],
},
},
},
}
// Using FD transaction to execute the smart contract
> kip37.safeTransferFrom('0x{address in hex}', '0x{address in hex}', 2, 10000, true, {
from: '0x{address in hex}'
feeDelegation: true,
feePayer: '0x{address in hex}'
}).then(console.log)
// Send via a sendParam object with the from field given (with data)
> kip37.safeTransferFrom('0x{address in hex}', '0x{address in hex}', 2, 10000, 'data' { from: '0x{address in hex}' }).then(console.log)
// Using kip37.options.from
// If the value of kip37.options.from is set, this value is used as the default value
// unless you specify `from` in the sendParam object when sending a transaction with a kip37 instance.
> kip37.options.from = '0x{address in hex}'
> kip37.safeTransferFrom('0x{address in hex}', '0x{address in hex}', 2, 10000).then(console.log)

kip17.safeTransferFrom


kip17.safeTransferFrom(from, to, tokenId [, data] [, sendParam])

安全地批量传输多个令牌 id 和值,从 fromrecipient

授权发送代币所有者代币的地址(操作员)或代币所有者本人将执行该代币转移交易。 因此,授权地址或令牌所有者应是该交易的发送方,其地址必须在 sendParam.fromkip17Instance.options.from 中给出。 除非同时提供 sendParam.fromkip17Instance.options.from,否则会发生错误。

如果 to 是合约地址,则必须执行 IKIP17Receiver.onKIP17Received. 否则,转账将被撤销。

请注意,此方法将向 kaia 网络提交交易,而 kaia 网络将向发送方收取交易费。

参数

名称类型描述
fromstring拥有要与津贴机制一起发送的代币的账户地址。
recipientstring接收代币的账户地址。
idsArray要查看余额的代币 ID 数组。
amountsArray一个数组,包含您要转移的令牌金额。
dataBuffer \string \
sendParamobject(可选)一个对象,包含用于发送事务的定义参数。 有关 sendParam 的更多信息,请参阅 [approve] 的参数说明。

注意 index参数接受number类型,但如果输入值超出了number.MAX_SAFE_INTEGER的范围,可能会导致意外结果或错误。 在这种情况下,建议使用 BigNumber 类型,特别是对于 uint256 大小的数值输入值。

返回价值

Promise 返回 object - 包含事务执行结果的收据。 如果您想了解收据对象内部的属性,请参阅 getTransactionReceipt 的说明。 来自 KIP17 实例的收据有一个通过 abi 解析的 "事件 "属性,而不是 "日志 "属性。

示例


// Send via a sendParam object with the from field given (without data)
> kip37.safeBatchTransferFrom('0x{address in hex}', '0x{address in hex}', [1, 2], [10, 1000], { from: '0x{address in hex}' }).then(console.log)
{
blockHash: '0x9e469494463a02ec4f9e2530e014089d6be3146a5485161a530a8e6373d472a6',
blocknumber: 4621,
contractAddress: null,
from: '0xfb8789cd544881f820fbff1728ba7c240a539f48',
...
status: true,
to: '0x394091d163ebdebcae876cb96cf0e0984c28a1e9',
...
events: {
TransferBatch: {
address: '0x394091D163eBDEbcAe876cb96CF0E0984C28a1e9',
blockNumber: 4621,
transactionHash: '0x557213eef8ae096bc35f5b3bee0e7cf87ecd87129b4a16d4e35a7356c341dad8',
transactionIndex: 0,
blockHash: '0x9e469494463a02ec4f9e2530e014089d6be3146a5485161a530a8e6373d472a6',
logIndex: 0,
id: 'log_b050bacc',
returnValues: {
'0': '0xfb8789cD544881F820Fbff1728Ba7c240a539F48',
'1': '0xfb8789cD544881F820Fbff1728Ba7c240a539F48',
'2': '0xF896C5aFD69239722013aD0041EF33B5A2fDB1A6',
'3': ['1', '2'],
'4': ['10', '1000'],
operator: '0xfb8789cD544881F820Fbff1728Ba7c240a539F48',
from: '0xfb8789cD544881F820Fbff1728Ba7c240a539F48',
to: '0xF896C5aFD69239722013aD0041EF33B5A2fDB1A6',
ids: ['1', '2'],
values: ['10', '1000'],
},
event: 'TransferBatch',
signature: '0x4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb',
raw: {
data: '0x00...3e8',
topics: [ '0x4a39d...', '0x00...f48', '0x00...f48', '0x00...1a6' ],
},
},
},
}
// Using FD transaction to execute the smart contract
> kip37.safeBatchTransferFrom('0x{address in hex}', '0x{address in hex}', [1, 2], [10, 1000], {
from: '0x{address in hex}'
feeDelegation: true,
feePayer: '0x{address in hex}'
}).then(console.log)
// Send via a sendParam object with the from field given (with data)
> kip37.safeBatchTransferFrom('0x{address in hex}', '0x{address in hex}', [1, 2], [10, 1000], 'data', { from: '0x{address in hex}' }).then(console.log)
// Using kip37.options.from
// If the value of kip37.options.from is set, this value is used as the default value
// unless you specify `from` in the sendParam object when sending a transaction with a kip37 instance.
> kip37.options.from = '0x{address in hex}'
> kip37.safeBatchTransferFrom('0x{address in hex}', '0x{address in hex}', [1, 2], [10, 1000]).then(console.log)

kip17.clone


kip37.mint(to, id, value [, sendParam])

根据变量 tovalue 提取特定标记类型 id 的标记并分配标记。 通过 mint 函数,您可以将 tovalue 数组作为参数传递给多个账户,从而一次向多个账户注入特定令牌。

请注意,此方法将向 kaia 网络提交交易,而 kaia 网络将向发送方收取交易费。

参数

名称类型描述
tostring \Array
idBuffer \string \
valueBuffer \string \
sendParamobject(可选)一个对象,包含用于发送事务的定义参数。 有关 sendParam 的更多信息,请参阅 [approve] 的参数说明。

注意 index参数接受number类型,但如果输入值超出了number.MAX_SAFE_INTEGER的范围,可能会导致意外结果或错误。 在这种情况下,建议使用 BigNumber 类型,特别是对于 uint256 大小的数值输入值。

注意* 如果给出了 sendParam.fromkip17.options.from ,则应是具有 MinterRole 的矿工。

返回价值

Promise 返回 object - 包含事务执行结果的收据。 如果您想了解收据对象内部的属性,请参阅 getTransactionReceipt 的说明。 来自 KIP17 实例的收据有一个通过 abi 解析的 "事件 "属性,而不是 "日志 "属性。

Example


// Send via a sendParam object with the from field given (Mint the specific tokens to a account)
> kip37.mint('0x{address in hex}', 2, 1000, { from: '0x{address in hex}' }).then(console.log)
{
blockHash: '0xca4489a003dc781645475b7db11106da61b7438d86910920f953d8b2dab4a701',
blocknumber: 12868,
contractAddress: null,
from: '0xfb8789cd544881f820fbff1728ba7c240a539f48',
...
status: true,
to: '0x394091d163ebdebcae876cb96cf0e0984c28a1e9',
...
events: {
TransferSingle: {
address: '0x394091D163eBDEbcAe876cb96CF0E0984C28a1e9',
blockNumber: 12868,
transactionHash: '0xed25e305904e6efb613a6fe8b7370488554f6508b6701e9a0167c95d341c73dc',
transactionIndex: 0,
blockHash: '0xca4489a003dc781645475b7db11106da61b7438d86910920f953d8b2dab4a701',
logIndex: 0,
id: 'log_04dffde1',
returnValues: {
'0': '0xfb8789cD544881F820Fbff1728Ba7c240a539F48',
'1': '0x0000000000000000000000000000000000000000',
'2': '0xF896C5aFD69239722013aD0041EF33B5A2fDB1A6',
'3': '2',
'4': '1000',
operator: '0xfb8789cD544881F820Fbff1728Ba7c240a539F48',
from: '0x0000000000000000000000000000000000000000',
to: '0xF896C5aFD69239722013aD0041EF33B5A2fDB1A6',
id: '2',
value: '1000',
},
event: 'TransferSingle',
signature: '0xc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62',
raw: {
data: '0x00...3e8',
topics: [ '0xc3d58...', '0x00...f48', '0x00...000', '0x00...1a6' ],
},
},
},
}
// Send via a sendParam object with the from field given (Mint the specific tokens to the multiple accounts)
> kip37.mint(['0x{address in hex}', '0x{address in hex}'], 2, [1, 2], { from: '0x{address in hex}' }).then(console.log)
{
blockHash: '0x2bf06d039e2e08c611117167df6261d1feebb12afb34fcabdda59fef2298c70f',
blocknumber: 13378,
contractAddress: null,
from: '0xfb8789cd544881f820fbff1728ba7c240a539f48',
...
status: true,
to: '0x394091d163ebdebcae876cb96cf0e0984c28a1e9',
...
events: {
TransferSingle: [
{
address: '0x394091D163eBDEbcAe876cb96CF0E0984C28a1e9',
blockNumber: 13378,
transactionHash: '0x9b367625572145d27f78c00cd18cf294883f7baced9d495e1004275ba35e0ea9',
transactionIndex: 0,
blockHash: '0x2bf06d039e2e08c611117167df6261d1feebb12afb34fcabdda59fef2298c70f',
logIndex: 0,
id: 'log_6975145c',
returnValues: {
'0': '0xfb8789cD544881F820Fbff1728Ba7c240a539F48',
'1': '0x0000000000000000000000000000000000000000',
'2': '0xF896C5aFD69239722013aD0041EF33B5A2fDB1A6',
'3': '2',
'4': '1',
operator: '0xfb8789cD544881F820Fbff1728Ba7c240a539F48',
from: '0x0000000000000000000000000000000000000000',
to: '0xF896C5aFD69239722013aD0041EF33B5A2fDB1A6',
id: '2',
value: '1',
},
event: 'TransferSingle',
signature: '0xc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62',
raw: {
data: '0x00...001',
topics: [ '0xc3d58...', '0x00...f48', '0x00...000', '0x00...1a6' ],
},
},
{
address: '0x394091D163eBDEbcAe876cb96CF0E0984C28a1e9',
blockNumber: 13378,
transactionHash: '0x9b367625572145d27f78c00cd18cf294883f7baced9d495e1004275ba35e0ea9',
transactionIndex: 0,
blockHash: '0x2bf06d039e2e08c611117167df6261d1feebb12afb34fcabdda59fef2298c70f',
logIndex: 1,
id: 'log_7fcd4837',
returnValues: {
'0': '0xfb8789cD544881F820Fbff1728Ba7c240a539F48',
'1': '0x0000000000000000000000000000000000000000',
'2': '0xEc38E4B42c79299bFef43c3e5918Cdef482703c4',
'3': '2',
'4': '2',
operator: '0xfb8789cD544881F820Fbff1728Ba7c240a539F48',
from: '0x0000000000000000000000000000000000000000',
to: '0xEc38E4B42c79299bFef43c3e5918Cdef482703c4',
id: '2',
value: '2',
},
event: 'TransferSingle',
signature: '0xc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62',
raw: {
data: '0x000...002',
topics: [ '0xc3d58...', '0x00...f48', '0x00...000', '0x00...3c4' ],
},
},
],
},
}
// Using FD transaction to execute the smart contract
> kip37.mint('0x{address in hex}', 2, 1000, {
from: '0x{address in hex}'
feeDelegation: true,
feePayer: '0x{address in hex}'
}).then(console.log)
// Using kip37.options.from
// If the value of kip37.options.from is set, this value is used as the default value
// unless you specify `from` in the sendParam object when sending a transaction with a kip37 instance.
> kip37.options.from = '0x{address in hex}'
> kip37.mint('0x{address in hex}', 2, 1000).then(console.log)

kip17.balanceOf


kip37.mintBatch(to, ids, values [, sendParam])

在一个批次中为特定令牌类型 "ids "的多个 KIP-37 令牌造币,并根据变量 "to "和 "values "分配令牌。

请注意,此方法将向 kaia 网络提交交易,而 kaia 网络将向发送方收取交易费。

参数

名称类型描述
tostring将向其发行新币的账户地址。
idsArray要查看余额的代币 ID 数组。
valueArray一个代币金额数组,表示要铸造的代币金额。
sendParamobject(可选)一个对象,包含用于发送事务的定义参数。 有关 sendParam 的更多信息,请参阅 [approve] 的参数说明。

注意 index参数接受number类型,但如果输入值超出了number.MAX_SAFE_INTEGER的范围,可能会导致意外结果或错误。 在这种情况下,建议使用 BigNumber 类型,特别是对于 uint256 大小的数值输入值。

注意* 如果给出了 sendParam.fromkip17.options.from ,则应是具有 MinterRole 的矿工。

返回价值

Promise 返回 object - 包含事务执行结果的收据。 如果您想了解收据对象内部的属性,请参阅 getTransactionReceipt 的说明。 来自 KIP37 实例的收件具有通过 ABI 解析的 "事件 "属性,而不是 "日志 "属性。

示例


// Send via a sendParam object with the from field given
> kip37.mintBatch('0x{address in hex}', [1, 2], [100, 200], { from: '0x{address in hex}' }).then(console.log)
{
blockHash: '0xfcfaf73e6b275c173fb699344ddcd6fb39e8f65dbe8dbcfa4123e949c7c6d959',
blocknumber: 13981,
contractAddress: null,
from: '0xfb8789cd544881f820fbff1728ba7c240a539f48',
...
status: true,
to: '0x394091d163ebdebcae876cb96cf0e0984c28a1e9',
...
events: {
TransferBatch: {
address: '0x394091D163eBDEbcAe876cb96CF0E0984C28a1e9',
blockNumber: 13981,
transactionHash: '0x3e2ddc38210eb3257379a6a59c2e6e341937a4c9e7ef848f1cd0462dfd0b3af6',
transactionIndex: 0,
blockHash: '0xfcfaf73e6b275c173fb699344ddcd6fb39e8f65dbe8dbcfa4123e949c7c6d959',
logIndex: 0,
id: 'log_d07901ef',
returnValues: {
'0': '0xfb8789cD544881F820Fbff1728Ba7c240a539F48',
'1': '0x0000000000000000000000000000000000000000',
'2': '0xF896C5aFD69239722013aD0041EF33B5A2fDB1A6',
'3': ['1', '2'],
'4': ['100', '200'],
operator: '0xfb8789cD544881F820Fbff1728Ba7c240a539F48',
from: '0x0000000000000000000000000000000000000000',
to: '0xF896C5aFD69239722013aD0041EF33B5A2fDB1A6',
ids: ['1', '2'],
values: ['100', '200'],
},
event: 'TransferBatch',
signature: '0x4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb',
raw: {
data: '0x00...0c8',
topics: [ '0x4a39d...', '0x00...f48', '0x00...000', '0x00...1a6' ],
},
},
},
}
// Using FD transaction to execute the smart contract
> kip37.mintBatch('0x{address in hex}', [1, 2], [100, 200], {
from: '0x{address in hex}'
feeDelegation: true,
feePayer: '0x{address in hex}'
}).then(console.log)
// Using kip37.options.from
// If the value of kip37.options.from is set, this value is used as the default value
// unless you specify `from` in the sendParam object when sending a transaction with a kip37 instance.
> kip37.options.from = '0x{address in hex}'
> kip37.mintBatch('0x{address in hex}', [1, 2], [100, 200]).then(console.log)

kip37.addMinter


kip37.addMinter(account [, sendParam])

添加一个允许铸造代币的矿工账户。

请注意,此方法将向 kaia 网络提交交易,而 kaia 网络将向发送方收取交易费。

参数

名称类型描述
accountstring要添加为矿工的账户地址。
sendParamobject(可选)一个对象,包含用于发送事务的定义参数。 有关 sendParam 的更多信息,请参阅 [approve] 的参数说明。

注意* 如果给出了 sendParam.fromkip17.options.from ,则应是矿工。

返回价值

Promise 返回 object - 包含事务执行结果的收据。 如果您想了解收据对象内部的属性,请参阅 getTransactionReceipt 的说明。 来自 KIP37 实例的收件具有通过 ABI 解析的 "事件 "属性,而不是 "日志 "属性。

示例


// Send via a sendParam object with the from field given
> kip37.addMinter('0x{address in hex}', { from: '0x{address in hex}' }).then(console.log)
{
blockHash: '0x32db6b56d959a388120507a943930351ba681b3c34d1a3c609e6bc03eabdbbe3',
blocknumber: 14172,
contractAddress: null,
from: '0xfb8789cd544881f820fbff1728ba7c240a539f48',
...
status: true,
to: '0x394091d163ebdebcae876cb96cf0e0984c28a1e9',
...
events: {
MinterAdded:{
address: '0x394091D163eBDEbcAe876cb96CF0E0984C28a1e9',
blockNumber: 14172,
transactionHash: '0xa2c492abde161356d03a23d9ba48e5fd6e69a2e1603dc0286c7c65aac65d0356',
transactionIndex: 0,
blockHash: '0x32db6b56d959a388120507a943930351ba681b3c34d1a3c609e6bc03eabdbbe3',
logIndex: 0,
id: 'log_712e7c09',
returnValues: {
'0': '0xF896C5aFD69239722013aD0041EF33B5A2fDB1A6',
account: '0xF896C5aFD69239722013aD0041EF33B5A2fDB1A6',
},
event: 'MinterAdded',
signature: '0x6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6',
raw: {
data: '0x',
topics: [ '0x6ae17...', '0x00...1a6' ],
},
},
},
}
// Using FD transaction to execute the smart contract
> kip37.addMinter('0x{address in hex}', {
from: '0x{address in hex}'
feeDelegation: true,
feePayer: '0x{address in hex}'
}).then(console.log)
// Using kip37.options.from
// If the value of kip37.options.from is set, this value is used as the default value
// unless you specify `from` in the sendParam object when sending a transaction with a kip37 instance.
> kip37.options.from = '0x{address in hex}'
> kip37.addMinter('0x{address in hex}').then(console.log)

kip37.renounceMinter


kip37.renounceMinter([sendParam])

放弃铸造代币的权利。 只有铸币厂地址可以放弃铸币权。

请注意,此方法将向 kaia 网络提交交易,而 kaia 网络将向发送方收取交易费。

参数

名称类型描述
sendParamobject(可选)一个对象,包含用于发送事务的定义参数。 有关 sendParam 的更多信息,请参阅 [approve] 的参数说明。

注意* 如果给出了 sendParam.fromkip17.options.from ,则应是具有 MinterRole 的矿工。

返回价值

Promise 返回 object - 包含事务执行结果的收据。 如果您想了解收据对象内部的属性,请参阅 getTransactionReceipt 的说明。 来自 KIP37 实例的收件具有通过 ABI 解析的 "事件 "属性,而不是 "日志 "属性。

示例


// Send via a sendParam object with the from field given
> kip37.renounceMinter({ from: '0x{address in hex}' }).then(console.log)
{
blockHash: '0x2122846ede9dac35a6797faf0e8eabd7fd8edf7054df27c97410ae788b6cc329',
blocknumber: 14174,
contractAddress: null,
from: '0xf896c5afd69239722013ad0041ef33b5a2fdb1a6',
...
status: true,
to: '0x394091d163ebdebcae876cb96cf0e0984c28a1e9',
...
events: {
MinterRemoved: {
address: '0x394091D163eBDEbcAe876cb96CF0E0984C28a1e9',
blockNumber: 14174,
transactionHash: '0x4b06b298f3de6f119901a4444326d21add6fb1b9a5d69c91c998a41af8fd46c9',
transactionIndex: 0,
blockHash: '0x2122846ede9dac35a6797faf0e8eabd7fd8edf7054df27c97410ae788b6cc329',
logIndex: 0,
id: 'log_9b0f3967',
returnValues: {
'0': '0xF896C5aFD69239722013aD0041EF33B5A2fDB1A6',
account: '0xF896C5aFD69239722013aD0041EF33B5A2fDB1A6',
},
event: 'MinterRemoved',
signature: '0xe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692',
raw: {
data: '0x',
topics: [ '0xe9447...', '0x00...1a6' ],
},
},
},
}
// Using FD transaction to execute the smart contract
> kip37.renounceMinter({
from: '0x{address in hex}'
feeDelegation: true,
feePayer: '0x{address in hex}'
}).then(console.log)
// Using kip37.options.from
// If the value of kip37.options.from is set, this value is used as the default value
// unless you specify `from` in the sendParam object when sending a transaction with a kip37 instance.
> kip37.options.from = '0x{address in hex}'
> kip37.renounceMinter().then(console.log)

kip37.burn


kip37.burn(account, id, value [, sendParam])

销毁特定的 KIP-37 令牌。

授权发送代币所有者代币的地址(操作员)或代币所有者本人将执行该代币转移交易。 因此,授权地址或代币所有者应是该交易的发送方,其地址必须在 sendParam.fromkip17Instance.options.from 中给出。 除非同时提供 sendParam.fromkip17Instance.options.from,否则会发生错误。

请注意,此方法将向 kaia 网络提交交易,而 kaia 网络将向发送方收取交易费。

参数

名称类型描述
accountstring要销毁的代币的账户地址。
idBuffer \string \
valueBuffer \string \
sendParamobject(可选)一个对象,包含用于发送事务的定义参数。 有关 sendParam 的更多信息,请参阅 [approve] 的参数说明。

注意 idamount 参数接受 number 类型,但如果输入值超出 number.MAX_SAFE_INTEGER 的范围,可能会导致意外结果或错误。 在这种情况下,建议使用 BigNumber 类型,特别是对于 uint256 大小的数值输入值。

返回价值

Promise 返回 object - 包含事务执行结果的收据。 如果您想了解收据对象内部的属性,请参阅 getTransactionReceipt 的说明。 来自 KIP17 实例的收据有一个通过 abi 解析的 "事件 "属性,而不是 "日志 "属性。

示例


// Send via a sendParam object with the from field given
> kip37.burn('0x{address in hex}', 2, 10, { from: '0x{address in hex}' }).then(console.log)
{
blockHash: '0xa42a71d838afcf27b02365fd716da4cba542f73540a9482e27c405a8bc47b456',
blocknumber: 16076,
contractAddress: null,
from: '0xfb8789cd544881f820fbff1728ba7c240a539f48',
...
status: true,
to: '0x394091d163ebdebcae876cb96cf0e0984c28a1e9',
...
events: {
TransferSingle: {
address: '0x394091D163eBDEbcAe876cb96CF0E0984C28a1e9',
blockNumber: 16076,
transactionHash: '0xec16313d00d0dbf34608c84e7563bacbde04e7e9c5fbcfffae54f0161356f19c',
transactionIndex: 0,
blockHash: '0xa42a71d838afcf27b02365fd716da4cba542f73540a9482e27c405a8bc47b456',
logIndex: 0,
id: 'log_9c9ddbc9',
returnValues: {
'0': '0xfb8789cD544881F820Fbff1728Ba7c240a539F48',
'1': '0xfb8789cD544881F820Fbff1728Ba7c240a539F48',
'2': '0x0000000000000000000000000000000000000000',
'3': '2',
'4': '10',
operator: '0xfb8789cD544881F820Fbff1728Ba7c240a539F48',
from: '0xfb8789cD544881F820Fbff1728Ba7c240a539F48',
to: '0x0000000000000000000000000000000000000000',
id: '2',
value: '10',
},
event: 'TransferSingle',
signature: '0xc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62',
raw: {
data: '0x00...00a',
topics: [ '0xc3d58...', '0x00...f48', '0x00...f48', '0x00...000' ],
},
},
},
}
// Using FD transaction to execute the smart contract
> kip37.burn('0x{address in hex}', 2, 10, {
from: '0x{address in hex}'
feeDelegation: true,
feePayer: '0x{address in hex}'
}).then(console.log)
// Using kip37.options.from
// If the value of kip37.options.from is set, this value is used as the default value
// unless you specify `from` in the sendParam object when sending a transaction with a kip37 instance.
> kip37.options.from = '0x{address in hex}'
> kip37.burn('0x{address in hex}', 2, 10).then(console.log)

kip17.balanceOf


kip37.mintBatch(to, ids, values [, sendParam])

烧毁多个 KIP-37 代币。

授权发送代币所有者代币的地址(操作员)或代币所有者本人将执行该代币转移交易。 因此,授权地址或令牌所有者应是该交易的发送方,其地址必须在 sendParam.fromkip17Instance.options.from 中给出。 除非同时提供 sendParam.fromkip17Instance.options.from,否则会发生错误。

请注意,此方法将向 kaia 网络提交交易,而 kaia 网络将向发送方收取交易费。

参数

名称类型描述
accountstring要销毁的代币的账户地址。
idsArray要查看余额的代币 ID 数组。
valueArray一个代币金额数组,表示要铸造的代币金额。
sendParamobject(可选)一个对象,包含用于发送事务的定义参数。 有关 sendParam 的更多信息,请参阅 [approve] 的参数说明。

注意 index参数接受number类型,但如果输入值超出了number.MAX_SAFE_INTEGER的范围,可能会导致意外结果或错误。 在这种情况下,建议使用 BigNumber 类型,特别是对于 uint256 大小的数值输入值。

返回价值

Promise 返回 object - 包含事务执行结果的收据。 如果您想了解收据对象内部的属性,请参阅 getTransactionReceipt 的说明。 来自 KIP17 实例的收据有一个通过 abi 解析的 "事件 "属性,而不是 "日志 "属性。

示例


// Send via a sendParam object with the from field given
> kip37.burnBatch('0x{address in hex}', [1, 2], [100, 200], { from: '0x{address in hex}' }).then(console.log)
{
blockHash: '0xb72521aecd76dc2cde31721d32f2cbd71d8cc244cca9109d4fe2de9fe9b53ec0',
blocknumber: 16930,
contractAddress: null,
from: '0xfb8789cd544881f820fbff1728ba7c240a539f48',
...
status: true,
to: '0x394091d163ebdebcae876cb96cf0e0984c28a1e9',
...
events: {
TransferBatch: {
address: '0x394091D163eBDEbcAe876cb96CF0E0984C28a1e9',
blockNumber: 16930,
transactionHash: '0xa19ee5c01ad67fd27bb2818b7cbad58ba529d5a7885d79558dea8006e7a760bf',
transactionIndex: 0,
blockHash: '0xb72521aecd76dc2cde31721d32f2cbd71d8cc244cca9109d4fe2de9fe9b53ec0',
logIndex: 0,
id: 'log_66e4d23e',
returnValues: {
'0': '0xfb8789cD544881F820Fbff1728Ba7c240a539F48',
'1': '0xfb8789cD544881F820Fbff1728Ba7c240a539F48',
'2': '0x0000000000000000000000000000000000000000',
'3': ['1', '2'],
'4': ['100', '200'],
operator: '0xfb8789cD544881F820Fbff1728Ba7c240a539F48',
from: '0xfb8789cD544881F820Fbff1728Ba7c240a539F48',
to: '0x0000000000000000000000000000000000000000',
ids: ['1', '2'],
values: ['100', '200'],
},
event: 'TransferBatch',
signature: '0x4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb',
raw: {
data: '0x00...0c8',
topics: [ '0x4a39d...', '0x00...f48', '0x00...f48', '0x00...000' ],
},
},
},
}
// Using FD transaction to execute the smart contract
> kip37.burnBatch('0x{address in hex}', [1, 2], [100, 200], {
from: '0x{address in hex}'
feeDelegation: true,
feePayer: '0x{address in hex}'
}).then(console.log)
// Using kip37.options.from
// If the value of kip37.options.from is set, this value is used as the default value
// unless you specify `from` in the sendParam object when sending a transaction with a kip37 instance.
> kip37.options.from = '0x{address in hex}'
> kip37.burnBatch('0x{address in hex}', [1, 2], [100, 200]).then(console.log)

kip17.addPauser


kip17.addPauser(account [, sendParam])

添加一个有权中止合约的暂停账户。

请注意,此方法将向 kaia 网络提交交易,而 kaia 网络将向发送方收取交易费。

参数

名称类型描述
accountstring将成为新暂停者的账户地址。
sendParamobject(可选)一个对象,包含用于发送事务的定义参数。 有关 sendParam 的更多信息,请参阅 [approve] 的参数说明。

注意* 如果给出了 sendParam.fromkip17.options.from,则应是具有 PauserRole 的暂停器。

返回价值

Promise 返回 object - 包含事务执行结果的收据。 如果您想了解收据对象内部的属性,请参阅 getTransactionReceipt 的说明。 来自 KIP17 实例的收据有一个通过 abi 解析的 "事件 "属性,而不是 "日志 "属性。

示例


// Send via a sendParam object with the from field given
> kip37.addPauser('0x{address in hex}', { from: '0x{address in hex}' }).then(console.log)
{
blockHash: '0x8267759b768d486e42657216a22c2425455cbf8b12aea9f149bb7ebe3aa2d666',
blocknumber: 17007,
contractAddress: null,
from: '0xfb8789cd544881f820fbff1728ba7c240a539f48',
...
status: true,
to: '0x394091d163ebdebcae876cb96cf0e0984c28a1e9',
...
events: {
PauserAdded: {
address: '0x394091D163eBDEbcAe876cb96CF0E0984C28a1e9',
blockNumber: 17007,
transactionHash: '0xe1d702bbbb44c25b5f4d18cf1e1a1745eb134d6438d5cae77611b1b73944aa93',
transactionIndex: 0,
blockHash: '0x8267759b768d486e42657216a22c2425455cbf8b12aea9f149bb7ebe3aa2d666',
logIndex: 0,
id: 'log_50e810b0',
returnValues: {
'0': '0xF896C5aFD69239722013aD0041EF33B5A2fDB1A6',
account: '0xF896C5aFD69239722013aD0041EF33B5A2fDB1A6',
},
event: 'PauserAdded',
signature: '0x6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f8',
raw: {
data: '0x',
topics: [ '0x6719d...', '0x00...1a6' ],
},
},
},
}
// Using FD transaction to execute the smart contract
> kip37.addPauser('0x{address in hex}', {
from: '0x{address in hex}'
feeDelegation: true,
feePayer: '0x{address in hex}'
}).then(console.log)
// Using kip37.options.from
// If the value of kip37.options.from is set, this value is used as the default value
// unless you specify `from` in the sendParam object when sending a transaction with a kip37 instance.
> kip37.options.from = '0x{address in hex}'
> kip37.addPauser('0x{address in hex}').then(console.log)

kip17.renouncePauser


kip17.renouncePauser([sendParam])

放弃暂停合约的权利。 只有暂停地址可以放弃自己的暂停权。

请注意,此方法将向 kaia 网络提交交易,而 kaia 网络将向发送方收取交易费。

参数

名称类型描述
sendParamobject(可选)一个对象,包含用于发送事务的定义参数。 有关 sendParam 的更多信息,请参阅 [approve] 的参数说明。

注意* 如果给出了 sendParam.fromkip17.options.from,则应是具有 PauserRole 的暂停器。

返回价值

Promise 返回 object - 包含事务执行结果的收据。 如果您想了解收据对象内部的属性,请参阅 getTransactionReceipt 的说明。 来自 KIP17 实例的收据有一个通过 abi 解析的 "事件 "属性,而不是 "日志 "属性。

示例


// Send via a sendParam object with the from field given
> kip37.renouncePauser({ from: '0x{address in hex}' }).then(console.log)
{
blockHash: '0x86b189c51df4c9390ddc7bcaefa6b5e78b9e7db645079cff33cc09ab321bc5e6',
blocknumber: 17010,
contractAddress: null,
from: '0x5934a0c01baa98f3457981b8f5ce6e52ac585578',
...
status: true,
to: '0x394091d163ebdebcae876cb96cf0e0984c28a1e9',
...
events: {
PauserRemoved: {
address: '0x394091D163eBDEbcAe876cb96CF0E0984C28a1e9',
blockNumber: 17010,
transactionHash: '0xa0557cf370cdff56ee2f53555da3e816361125a19cc832caa9d7a62808afeda1',
transactionIndex: 0,
blockHash: '0x86b189c51df4c9390ddc7bcaefa6b5e78b9e7db645079cff33cc09ab321bc5e6',
logIndex: 0,
id: 'log_ebd8d4a4',
returnValues: {
'0': '0xF896C5aFD69239722013aD0041EF33B5A2fDB1A6',
account: '0xF896C5aFD69239722013aD0041EF33B5A2fDB1A6',
},
event: 'PauserRemoved',
signature: '0xcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e',
raw: {
data: '0x',
topics: [ '0xcd265...', '0x00...1a6' ],
},
},
},
}
// Using FD transaction to execute the smart contract
> kip37.renouncePauser({
from: '0x{address in hex}'
feeDelegation: true,
feePayer: '0x{address in hex}'
}).then(console.log)
// Using kip37.options.from
// If the value of kip37.options.from is set, this value is used as the default value
// unless you specify `from` in the sendParam object when sending a transaction with a kip37 instance.
> kip37.options.from = '0x{address in hex}'
> kip37.renouncePauser().then(console.log)

kip17.paused


kip17.pause([sendParam])

暂停与发送代币相关的功能。 如果定义了 id 参数,则暂停特定标记。 否则暂停代币合约。

请注意,此方法将向 kaia 网络提交交易,而 kaia 网络将向发送方收取交易费。

参数

名称类型描述
idBuffer \string \
sendParamobject(可选)一个对象,包含用于发送事务的定义参数。 有关 sendParam 的更多信息,请参阅 [approve] 的参数说明。

注意* 如果给出了 sendParam.fromkip17.options.from,则应是具有 PauserRole 的暂停器。

返回价值

Promise 返回 object - 包含事务执行结果的收据。 如果您想了解收据对象内部的属性,请参阅 getTransactionReceipt 的说明。 来自 KIP17 实例的收据有一个通过 abi 解析的 "事件 "属性,而不是 "日志 "属性。

示例


// Send via a sendParam object with the from field given (pause the token contract)
> kip37.pause({ from: '0x{address in hex}' }).then(console.log)
{
blockHash: '0x004960a28a6c5b75963d28c4018d6540d5ad181c5a5f257ec8f78ebb8436be1e',
blocknumber: 17521,
contractAddress: null,
from: '0xfb8789cd544881f820fbff1728ba7c240a539f48',
...
status: true,
to: '0x394091d163ebdebcae876cb96cf0e0984c28a1e9',
...
events: {
Paused: {
address: '0x394091D163eBDEbcAe876cb96CF0E0984C28a1e9',
blockNumber: 17521,
transactionHash: '0xc5f3bebe83c86f68d582240f6bb47a8f56867650c9fec3b7caf1cb5861d31af2',
transactionIndex: 0,
blockHash: '0x004960a28a6c5b75963d28c4018d6540d5ad181c5a5f257ec8f78ebb8436be1e',
logIndex: 0,
id: 'log_55bd1adc',
returnValues: {
'0': '0xfb8789cD544881F820Fbff1728Ba7c240a539F48',
account: '0xfb8789cD544881F820Fbff1728Ba7c240a539F48',
},
event: 'Paused',
signature: '0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258',
raw: {
data: '0x00...f48',
topics: ['0x62e78...'],
},
},
},
}
// Send via a sendParam object with the from field given (pause the specific token)
> kip37.pause(2, { from: '0x{address in hex}' }).then(console.log)
{
blockHash: '0x36d0618e1e30bca8199ce3bbc3d32e74bd4c25f6326c4c9e2d9292b79605155f',
blocknumber: 17738,
contractAddress: null,
from: '0xfb8789cd544881f820fbff1728ba7c240a539f48',
...
status: true,
to: '0x394091d163ebdebcae876cb96cf0e0984c28a1e9',
...
events: {
Paused: {
address: '0x394091D163eBDEbcAe876cb96CF0E0984C28a1e9',
blockNumber: 17738,
transactionHash: '0x437834d4ccb944397607a81abe1bc229c44749d20c2b4f4b73ae1dd5907f79c9',
transactionIndex: 0,
blockHash: '0x36d0618e1e30bca8199ce3bbc3d32e74bd4c25f6326c4c9e2d9292b79605155f',
logIndex: 0,
id: 'log_b89719ed',
returnValues: {
'0': '2',
'1': '0xfb8789cD544881F820Fbff1728Ba7c240a539F48',
tokenId: '2',
account: '0xfb8789cD544881F820Fbff1728Ba7c240a539F48',
},
event: 'Paused',
signature: '0xabdb1c9133626eb4f8c5f2ec7e3c60a969a2fb148a0c341a3cf6597242c8f8f5',
raw: {
data: '0x00...f48',
topics: ['0xabdb1...'],
},
},
},
}
// Using FD transaction to execute the smart contract
> kip37.pause({
from: '0x{address in hex}'
feeDelegation: true,
feePayer: '0x{address in hex}'
}).then(console.log)
// Using kip37.options.from
// If the value of kip37.options.from is set, this value is used as the default value
// unless you specify `from` in the sendParam object when sending a transaction with a kip37 instance.
> kip37.options.from = '0x{address in hex}'
> kip37.pause().then(console.log)

kip17.unpause


kip17.unpause([sendParam])

恢复已暂停的合约或特定代币。 如果定义了 id 参数,则取消特定标记的暂停。 否则取消代币合约的暂停。

请注意,此方法将向 kaia 网络提交交易,而 kaia 网络将向发送方收取交易费。

参数

名称类型描述
idBuffer \string \

注意* 如果给出了 sendParam.fromkip17.options.from,则应是具有 PauserRole 的暂停器。

返回价值

Promise 返回 object - 包含事务执行结果的收据。 如果您想了解收据对象内部的属性,请参阅 getTransactionReceipt 的说明。 来自 KIP37 实例的收件具有通过 ABI 解析的 "事件 "属性,而不是 "日志 "属性。

示例


// Send via a sendParam object with the from field given (unpause the token contract)
> kip37.unpause({ from: '0x{address in hex}' }).then(console.log)
{
blockHash: '0x71d47d869e6fcf7b56f071e4f3b7b5a6d83e585b36a203248544340cdada8f1d',
blocknumber: 17524,
contractAddress: null,
from: '0xfb8789cd544881f820fbff1728ba7c240a539f48',
...
status: true,
to: '0x394091d163ebdebcae876cb96cf0e0984c28a1e9',
...
events: {
Unpaused: {
address: '0x394091D163eBDEbcAe876cb96CF0E0984C28a1e9',
blockNumber: 17524,
transactionHash: '0x5e67040e12297ee85a3464eae406904c32b7f3c7493cbdbc8f73a2e92b10f56d',
transactionIndex: 0,
blockHash: '0x71d47d869e6fcf7b56f071e4f3b7b5a6d83e585b36a203248544340cdada8f1d',
logIndex: 0,
id: 'log_78d5bc18',
returnValues: {
'0': '0xfb8789cD544881F820Fbff1728Ba7c240a539F48',
account: '0xfb8789cD544881F820Fbff1728Ba7c240a539F48',
},
event: 'Unpaused',
signature: '0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa',
raw: {
data: '0x00...f48',
topics: ['0x5db9e...'],
},
},
},
}
// Send via a sendParam object with the from field given (unpause the specific token)
> kip37.unpause(2, { from: '0x{address in hex}' }).then(console.log)
{
blockHash: '0x44e2005d6061eeb014889c29cce567d12664e5ef4104faa3426eacd8772790c6',
blocknumber: 17742,
contractAddress: null,
from: '0xfb8789cd544881f820fbff1728ba7c240a539f48',
...
status: true,
to: '0x394091d163ebdebcae876cb96cf0e0984c28a1e9',
...
events: {
Unpaused: {
address: '0x394091D163eBDEbcAe876cb96CF0E0984C28a1e9',
blockNumber: 17742,
transactionHash: '0xed920c7b487c3133508cc37f930e4ae3b9c05f01e4ad823909c9b4aacf040f62',
transactionIndex: 0,
blockHash: '0x44e2005d6061eeb014889c29cce567d12664e5ef4104faa3426eacd8772790c6',
logIndex: 0,
id: 'log_2811c3c5',
returnValues: {
'0': '2',
'1': '0xfb8789cD544881F820Fbff1728Ba7c240a539F48',
tokenId: '2',
account: '0xfb8789cD544881F820Fbff1728Ba7c240a539F48',
},
event: 'Unpaused',
signature: '0xfe9b5e5216db9de81757f43d20f846bea509c040a560d136b8263dd8cd764238',
raw: {
data: '0x00...f48',
topics: ['0xfe9b5...'],
},
},
},
}
// Using FD transaction to execute the smart contract
> kip37.unpause({
from: '0x{address in hex}'
feeDelegation: true,
feePayer: '0x{address in hex}'
}).then(console.log)
// Using kip37.options.from
// If the value of kip37.options.from is set, this value is used as the default value
// unless you specify `from` in the sendParam object when sending a transaction with a kip37 instance.
> kip37.options.from = '0x{address in hex}'
> kip37.unpause().then(console.log)

让这个页面变得更好