如何使用合约将NEAR令牌从一个帐户转移到另一个帐户?

时间:2020-07-01 12:46:27

标签: nearprotocol

免责声明:这是在此处发布的聊天中的一个社区问题,目的是提高可发现性。

我想将NEAR令牌从a.testnet转移到b.testnet

1 个答案:

答案 0 :(得分:1)

您不能从任意帐户转移令牌。想象一下,我有一个可以从您的余额中转移令牌的合同。听起来不安全,对吧?

您要实现的方法如下:帐户a.testnet调用合同时,它会在该调用中附加一些令牌(在FunctionCall操作中创建一笔非零存款的交易),以及然后在合同内,为帐户Transfer创建一个b.testnet

在AssemblyScript中,您可以使用ContractPromiseBatch.create('b.testnet').transfer(context.attachedDeposit)发出转移。

在Rust中,Promise::new("b.testnet".to_string()).transfer(near_sdk::env::attached_deposit())