USDT钱包开发之如何使用钱包节点进行转账开发

    2020-05-25 18:08:06 #USDT钱包开发,USDT钱包转账开发

    优盾钱包www.uduncloud.com提供BTC_ETH_USDT_EOS_XRP等主流erc20代币对接交易所钱包充提币_转账支付归集_API/RPC的php/java开发接口。API快捷接入,多币种多地址钱包余额一键归集、私钥冷存储、多级复签、全终端支持。 点此立即试用



    从比特币完成历史性的减半后,比特币的连续暴跌似乎再次刷新韭菜们的认知,而作为在当前数字货币交易场景中承担风险对冲与资产保值的稳定币USDT来说,交易量和价格近日扶摇直上,相对应的基于存储和管理数字资产的USDT钱包炙手可热。随着交易量的持续增加,交易场景的繁华,一些新建起来的交易所对钱包开发以及钱包对接的需求进一步扩大。 今天就USDT钱包开发之如何使用钱包节点进行转账开发的程序进行拆解分析。


    如果你的地址不是在节点上创建的,那么你需要导入地址,才能查找UTXO。如果是在节点上创建的地址,转账发生在节点上的,直接获取UTXO就行。


    如果你的地址不是在节点上创建的,那么你需要导入地址,才能查找UTXO。如果是在节点上创建的地址,转账发生在节点上的,直接获取UTXO就行。

    导入地址

    ./omnicore-cli importaddress 1C6UYrmbtvdi8dHZNnZD3YoVwit2mccSgw


    列出UTXO

    需要导入地址才能获取UTXO的前提条件是,上面的地址已经扫描完所有的块并导入。
    ./omnicore-cli "listunspent" 0 999999 '["1C6UYrmbtvdi8dHZNnZD3YoVwit2mccSgw"]'


    下面是查询的结果

    [
      {
        "txid": "4f5b2b5ac6f7402f2edd8d4dafbdcca71758076d13f9b58dccd02ad76ac0f2ce",
        "vout": 0,
        "address": "1C6UYrmbtvdi8dHZNnZD3YoVwit2mccSgw",
        "account": "",
        "scriptPubKey": "76a91479b275dd5f136c241f3c28549b4c338177d5cb2188ac",
        "amount": 0.01411554,
        "confirmations": 105,
        "spendable": false,
        "solvable": false
       }
    ]


    确定要转出的USDT的数量


    ./omnicore-cli omni_createpayload_simplesend 31 5.0

    上面代码中31表示USDT在Omni上的代币ID为31,和以太坊的ERC20代币Token类似,2.0代表的是要转出2个USDT。

    执行结果如下:
    000000000000001f000000001dcd6500


    创建交易

    这个和比特币是一样的,代码如下:
    ./omnicore-cli "createrawtransaction" '[{"txid":"4f5b2b5ac6f7402f2edd8d4dafbdcca71758076d13f9b58dccd02ad76ac0f2ce","vout":0}]' '{}'


    执行结果如下:
    0100000001cef2c06ad72ad0cc8db5f9136d075817a7ccbdaf4d8ddd2e2f40f7c65a2b5b4f0000000000ffffffff0000000000

    在交易上绑定代币数据

    ./omnicore-cli omni_createrawtx_opreturn 0100000001cef2c06ad72ad0cc8db5f9136d075817a7ccbdaf4d8ddd2e2f40f7c65a2b5b4f0000000000ffffffff0000000000 000000000000001f000000001dcd6500


    执行结果如下: 0100000001cef2c06ad72ad0cc8db5f9136d075817a7ccbdaf4d8ddd2e2f40f7c65a2b5b4f0000000000ffffffff010000000000000000166a146f6d6e69000000000000001f000000001dcd650000000000

    添加接收币的地址

    ./omnicore-cli omni_createrawtx_reference 0100000001cef2c06ad72ad0cc8db5f9136d075817a7ccbdaf4d8ddd2e2f40f7c65a2b5b4f0000000000ffffffff010000000000000000166a146f6d6e69000000000000001f000000001dcd650000000000 1DefiYRCAD4wVS7rXwFkqhEn6R88EkSUnh


    执行结果
    0100000001cef2c06ad72ad0cc8db5f9136d075817a7ccbdaf4d8ddd2e2f40f7c65a2b5b4f0000000000ffffffff020000000000000000166a146f6d6e69000000000000001f000000001dcd650022020000000000001976a9148ac137fb413490ec6f69792552c5f5ddf2ecd4cf88ac00000000


    设置找零和矿工费


    指令:(事务HASH,交易信息,找零地址,手续费)
    ./omnicore-cli omni_createrawtx_change 0100000001cef2c06ad72ad0cc8db5f9136d075817a7ccbdaf4d8ddd2e2f40f7c65a2b5b4f0000000000ffffffff020000000000000000166a146f6d6e69000000000000001f000000001dcd650022020000000000001976a9148ac137fb413490ec6f69792552c5f5ddf2ecd4cf88ac00000000 '[{"txid":"4f5b2b5ac6f7402f2edd8d4dafbdcca71758076d13f9b58dccd02ad76ac0f2ce","vout":0,"scriptPubKey":"76a91479b275dd5f136c241f3c28549b4c338177d5cb2188ac","value":0.01411554}]' "1C6UYrmbtvdi8dHZNnZD3YoVwit2mccSgw" 0.0002


    执行结果:
    0100000001cef2c06ad72ad0cc8db5f9136d075817a7ccbdaf4d8ddd2e2f40f7c65a2b5b4f0000000000ffffffff03a0391500000000001976a91479b275dd5f136c241f3c28549b4c338177d5cb2188ac0000000000000000166a146f6d6e69000000000000001f000000001dcd650022020000000000001976a9148ac137fb413490ec6f69792552c5f5ddf2ecd4cf88ac00000000


    对交易进行签名

    签名指令:
    ./omnicore-cli signrawtransaction 0100000001cef2c06ad72ad0cc8db5f9136d075817a7ccbdaf4d8ddd2e2f40f7c65a2b5b4f0000000000ffffffff03a0391500000000001976a91479b275dd5f136c241f3c28549b4c338177d5cb2188ac0000000000000000166a146f6d6e69000000000000001f000000001dcd650022020000000000001976a9148ac137fb413490ec6f69792552c5f5ddf2ecd4cf88ac00000000


    执行结果:
    {
      "hex":    "0100000001cef2c06ad72ad0cc8db5f9136d075817a7ccbdaf4d8ddd2e2f40f7c65a2b5b4f0000000000ffffffff03a0391500000000001976a91479b275dd5f136c241f3c28549b4c338177d5cb2188ac0000000000000000166a146f6d6e69000000000000001f000000001dcd650022020000000000001976a9148ac137fb413490ec6f69792552c5f5ddf2ecd4cf88ac00000000",
      "complete": false,
      "errors": [
       {
        "txid": "4f5b2b5ac6f7402f2edd8d4dafbdcca71758076d13f9b58dccd02ad76ac0f2ce",
        "vout": 0,
        "scriptSig": "",
        "sequence": 4294967295,
        "error": "Operation not valid with the current stack size"
        }
      ]
    }
    出现上面这种错误的原因,是因为你的地址不是在节点上生成的,而是通过导入地址的方式导入的,这种情况下,你需要在签名的时候加上私钥。

    如下:
    ./omnicore-cli signrawtransaction 0100000001cef2c06ad72ad0cc8db5f9136d075817a7ccbdaf4d8ddd2e2f40f7c65a2b5b4f0000000000ffffffff03a0391500000000001976a91479b275dd5f136c241f3c28549b4c338177d5cb2188ac0000000000000000166a146f6d6e69000000000000001f000000001dcd650022020000000000001976a9148ac137fb413490ec6f69792552c5f5ddf2ecd4cf88ac00000000 '[]' '["私钥"]'


    执行结果如下:
    {
       "hex": "签名串",
       "complete": true
    }




    发送交易到区块链网络

    指令如下:
    ./omnicore-cli sendrawtransaction 签名串


    返回结果:
    2ae377b5d928132910ffa4419d52913c34d90baec3ed53fc621a07a9bcfb2bcf


    综上所述,本文对USDT钱包开发之如何使用钱包节点进行转账开发的程序了一步步拆解,分别从导入地址、列出UTXO、确定要转出的USDT的数量、创建交易、在交易上绑定代币数据、添加接收币的地址、设置找零和矿工费、对交易进行签名、发送交易到区块链网络等九个方面进行了技术代码分享。

    由于当前数字货币交易场景中支持交易的数字币种成千上万,仅仅支持usdt数字资产存储和管理的钱包无法支撑交易所平台的进一步发展,支持全token的企业级区块链数字钱包管理系统像优盾钱包被市场广泛接受。


    优盾钱包,是目前国内最好用的企业钱包开放平台。API一键对接,支持当下多数主流币种、多资产多地址统一管理、用户提币初审+复核安全模式、系统代付自动放币、多员工多钱包多权限一键分配、资产交易查询、资金流动消息提醒等多种功能。

     

    防黑客技术上:

    API接口信息访问验签、基于HTTPS安全传输,拒绝被监听

    私钥不上传、不触网,并通过二次加密托管在客户端侧

    钱包绑定电脑MAC地址,拒绝非认证设备访问

    冷热钱包分离,大额资产用冷钱包离线保存


    防内鬼技术上:

    员工操作权限管理员一键设置

    员工操作记录管理员一键查询

    员工只接触管理独立小额子钱包

    超额转出交易需管理员复核

    员工在非公司指定电脑设备登录优盾账号需管理员同意


    便捷接入:

    ①免节点同步;

    ②标准接口;

    ③详细接口文档;

    ④接入DEMO;

    ⑤7*24小时技术支持。


    相关文章:

    1.PHP ETH代币转账交易需要哪几步?ETH jsonrpc接口使用教程

    2.区块链时代下的流量之争 得入口者得天下

    3.区块链支付系统USDT支付系统开发方案

    4.BTC_ETH_USDT_自动充提币API接口,钱包对接交易所教程!

    申请试用

    设置

    在线客服

    申请试用