我在合同中有以下功能:
#[payable]
pub fn buy_tokens(&mut self) {
let amount = env::attached_deposit()
}但是如何在near-api-js和near - cli中调用函数,并附加near令牌存放?
await nearvar.contract.buy_tokens()编辑:
await nearvar.contract.buy_tokens({}, GAS_AMOUNT, ATTACHED_DEPOSIT);出现错误{InvalidTxError:{InvalidAccessKeyError:"DepositWithFunctionCall"}
该错误似乎是因为函数调用访问键https://docs.near.org/docs/roles/integrator/errors/error-implementation不允许函数调用操作
如何调用全访问密钥的付费函数?
这是我的索引文件:Link
这就是我要调用的函数:Link
发布于 2021-01-07 10:11:27
Contract中函数的第二个和第三个参数是gas和attached third:
await nearvar.contract.buy_tokens({}, GAS_AMOUNT, ATTACHED_DEPOSIT);或者,您可以使用Account应用编程接口(see details here)来执行此操作:
let account = await connection.account(senderAccountId);
account.functionCall(contractId, 'buy_tokens', {}, GAS_AMOUNT, ATTACHED_DEPOSIT);其中,对于100Tgas,GAS_AMOUNT可以为100000000000000 (对于默认的30Tgas,也可以传递null )。以1N的ATTACHED_DEPOSIT为例:10000000000000000000000000
https://stackoverflow.com/questions/65598492
复制相似问题