Nearprotocol 如何在near api js和near cli中将near令牌发送到Payment函数?

Nearprotocol 如何在near api js和near cli中将near令牌发送到Payment函数?,nearprotocol,Nearprotocol,我在合同中有以下职能: #[payable] pub fn buy_tokens(&mut self) { let amount = env::attached_deposit() } 但是,如何使用附加的near令牌调用near-api js和near-cli中的函数呢 await nearvar.contract.buy_tokens() 编辑: 给出错误{InvalidTxError:{InvalidAccessKeyError:“DepositWithFunction

我在合同中有以下职能:

#[payable]
pub fn buy_tokens(&mut self) {
    let amount = env::attached_deposit()
}
但是,如何使用附加的near令牌调用near-api js和near-cli中的函数呢

await nearvar.contract.buy_tokens()
编辑:

给出错误{InvalidTxError:{InvalidAccessKeyError:“DepositWithFunctionCall”}
该错误似乎是因为函数调用访问键不允许函数调用操作


如何使用完全访问键调用支付功能

这是我的索引文件:


这就是我调用函数的地方:

合同中函数的第二个和第三个参数是gas和attached deposit:

await nearvar.contract.buy_tokens({}, GAS_AMOUNT, ATTACHED_DEPOSIT);
或者您可以使用
帐户
API()来执行以下操作:

let account = await connection.account(senderAccountId);
account.functionCall(contractId, 'buy_tokens', {}, GAS_AMOUNT, ATTACHED_DEPOSIT);
其中,对于100TGA,气体量可以是
1000000000000
(对于默认的30TGA,也可以传递null)。
附加的\u存款,例如1N:
100000000000000000

等待nearvar.contract.buy \u令牌({},1000000000000,50);给出以下错误:这是事务本身的错误,有非常不幸的解析问题。您应该能够在资源管理器或
网络
选项卡中检查更详细的错误。它给出{InvalidTxError:{InvalidAccessKeyError:“DepositWithFunctionCall”},我认为它需要完全访问密钥而不是函数调用访问密钥。如何使用完全访问密钥调用支付函数?似乎它需要一些钱包api,不确定api是否已经完成。
let account = await connection.account(senderAccountId);
account.functionCall(contractId, 'buy_tokens', {}, GAS_AMOUNT, ATTACHED_DEPOSIT);