Skip to main content

NEO.Transfer 方法

NEO转账。

命名空间:Neo.SmartContract.Framework.Native

程序集:Neo.SmartContract.Framework

note

需要校验付款人的签名,方法调用者是否为付款人,收款人是否能够收款,以及付款人余额是否充足。

语法#

public static extern bool Transfer(UInt160 from, UInt160 to, BigInteger amount, object data = null);

参数:

  • from: 转出账户的脚本哈希;
  • to: 转入账户的脚本哈希;
  • amount: 要转账的金额。
  • data:额外参数,在 NEP-17 的转账方法中会调用接收方的 onNEP17Payment 方法,并将 data 作为参数传入。

示例#

public class Contract1 : SmartContract.Framework.SmartContract{    private static readonly UInt160 from = "NXsG3zwpwcfvBiA3bNMx6mWZGEro9ZqTqM".ToScriptHash();    private static readonly UInt160 to = "NXjtqYERuvSWGawjVux8UerNejvwdYg7eE".ToScriptHash();
    public static object Test()    {        BigInterger value = 1000;        bool result = NEO.Transfer(from, to, value);        return result;    }}

部署后,调用该合约,响应正文为:

{    "type":"Boolean",    "value":"true"}

响应说明:

  • Boolean类型:true表示成功转账。

  • 其他:失败。

返回上级