我如何使用合约将 NEAR 代币从一个账户转移到另一个账户?

How can I move NEAR token from one account to other using contract?

免责声明:这是来自此处发布的聊天的社区问题,以便更好地发现。

I want to transfer NEAR token from a.testnet to b.testnet.

您不能从任意账户转移代币。想象一下,我有一份合约可以从你的余额中转移代币。这听起来不太安全,对吧?

您要实现的方法如下:当账户 a.testnet 调用合约时,它会在调用中附加一些代币(在 FunctionCall 操作中创建非零存款的交易) ,然后,在合约内部,为账户 b.testnet.

创建一个 Transfer

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

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