zoukankan      html  css  js  c++  java
  • 区块链钱包开发

    背景

    Tether(USDT)中文又叫泰达币,是一种加密货币,是Tether公司推出的基于稳定价值货币美元(USD)的代币Tether USD,也是目前数字货币中最稳定的币,USDT目前发行了两种代币,一种是基于以太坊标准的ERC20 Token,另一种是基于Omni Layer协议的代币,在omni上,USDT代币ID为31。omni上的代币也是目前交易所支持最广泛的代币,而ERC20的USDT Token使用的较少;这里的内容以omni版本展开。

    Omni

    Omni是一个创建和交易自定义数字资产和货币的平台。 Omni协议底层基于比特币, Omni Core是一个增强的比特币核心,提供比特币的所有功能以及进化版的Omni Layer功能。数字货币交易的的相关开发都离不开要了解这些有的没的了。

    Omni Core

    Omni Core is a fast, portable Omni Layer implementation that is based off the Bitcoin Core codebase (currently 0.13). This implementation requires no external dependencies extraneous to Bitcoin Core, and is native to the Bitcoin network just like other Bitcoin nodes. It currently supports a wallet mode and is seamlessly available on three platforms: Windows, Linux and Mac OS. Omni Layer extensions are exposed via the JSON-RPC interface. Development has been consolidated on the Omni Core product, and it is the reference client for the Omni Layer.

    Omni Core是基于Bitcoin Core代码库(当前为0.13)的快速,便携式Omni Layer实现。此实现不需要任何与比特币核心无关的外部依赖关系,并且像其他比特币节点一样是比特币网络固有的。它目前支持钱包模式,并且可以在三个平台上无缝使用:Windows,Linux和Mac OS。Omni Layer扩展通过JSON-RPC接口公开。开发已整合到Omni Core产品上,它是Omni Layer的参考客户端。

    推荐学习前先了解下区块链,比特币,怎么开发比特币钱包,了解基于比特币的彩色币开发流程,就可以更好地开始接下来的学习和开发。

    下载omnilayer钱包,官方提供了客户端下载和core项目下载;

    https://www.omnilayer.org/download.html

    windows

    官网下载安装 进入qt目录
    命令行:
    1.开始客户端

    > omnicore-qt.exe -testnet -server  -rpcbind=127.0.0.1 -rpcport=18332 -rpcuser=RPCuser -rpcpassword=RPCpasswd -datadir=“f:xxx”
    

    如果安装了其他节点
    需要指定data目录

    > -datadir=“f:xxx”
    

    指定钱包文件

    > -wallet= “”
    

    2. mac/linux/unix 这里使用core核心包

    进入数据库目录:

    // 下载
    wget https://bintray.com/artifact/download/omni/OmniBinaries/omnicore-0.3.0-x86_64-linux-gnu.tar.gz
    // 解压后记录对应目录
    cd omnicore-0.3.0/bin
    ./omnicored -testnet 连接test3测试网络,会同步test3网络的区块数据(约20G)
    ./omnicored          连接比特币主网网络,会同步真实区块数据, 电脑需要至少50G容量,同步很久,块很重,耐心等待,
    

    关闭提示:

    在命令行窗口 command+c退出,最好别强退

    启动:

    // ./bin/omnicored 无效则切换到qt启动
    ./bin/omnicore-qt  -testnet -server -rpcbind=127.0.0.1 -rpcport=18332 -rpcuser=RPCUser -rpcpassword=RPCPassword
    

    启动2:(其他电脑访问)

     ./bin/omnicore-qt  -testnet -server -rpcallowip=192.168.18.35   -rpcport=18332  -rpcuser=omnicorerpc -rpcpassword=Bngj987Ncid9893 -rpcallowip=192.168.16.113
    

    测试api:

    ./bin/omnicore-cli -rpcconnect=127.0.0.1 -rpcport=18332 -rpcuser=RPCUser -rpcpassword=RPCPassword getinfo
    

    查看私钥:

    ./bin/omnicore-cli -rpcconnect=127.0.0.1 -rpcport=18332 -rpcuser=RPCUser -rpcpassword=RPCPassword dumpprivkey n1dnFGMxuxkDf1Ns5G2uYhaqk2ETWPuYQG
    

    查看到账:

    ./bin/omnicore-cli -rpcconnect=127.0.0.1 -rpcport=18332 -rpcuser=RPCUser -rpcpassword=RPCPassword getbalance
    

    获取交易信息:

    ./bin/omnicore-cli -rpcconnect=127.0.0.1 -rpcport=18332 -rpcuser=RPCUser -rpcpassword=RPCPassword omni_listtransactions
    

    根据发送方获取返回USDT信息:

    ./bin/omnicore-cli -rpcconnect=127.0.0.1 -rpcport=18332 -rpcuser=RPCUser -rpcpassword=RPCPassword omni_getbalance n1dnFGMxuxkDf1Ns5G2uYhaqk2ETWPuYQG 1
    

    在omni节点发送给

    moneyqMan7uh8FqdCA2BV5yZ8qVrc9ikLP
    

    btc可返还omni

    查看入账:

    ./bin/omnicore-cli -rpcconnect=127.0.0.1 -rpcport=18332 -rpcuser=RPCUser -rpcpassword=RPCPassword omni_getbalance mhf2ibPWMoeyibR2jS3jPLZQYTJsFSoG5r 1
    

    测试网络进入QT桌面端

    ./bin/omnicore-qt -testnet -server -rpcbind=127.0.0.1 -rpcport=18332 -rpcuser=RPCUser -rpcpassword=RPCPassword
    

    获取指定地址交易列表listUnspent

    ./bin/omnicore-cli -rpcconnect=127.0.0.1 -rpcport=18332 -rpcuser=RPCUser -rpcpassword=RPCPassword listunspent  0 999999 '["mhf2ibPWMoeyibR2jS3jPLZQYTJsFSoG5r"]'
    

    发送usdt

    ./bin/omnicore-cli -rpcconnect=127.0.0.1 -rpcport=18332 -rpcuser=RPCUser -rpcpassword=RPCPassword  omni_sendrawtx "mhf2ibPWMoeyibR2jS3jPLZQYTJsFSoG5r" "000000000000001f000000000000000a" "msis3b45PQriomes1zCAfNJpobggP1yusr"
    

    导入特定地址到节点:

    ./bin/omnicore-cli -rpcconnect=127.0.0.1 -rpcport=18332 -rpcuser=RPCUser -rpcpassword=RPCPassword importprivkey cVKMjDVaWevxmRCrNXjTPpz77SSjWvQWp1eCj5zKBpEcaASK7Gib '' false ('': account false:rescan)
    如果(btc/usdt)要通过api查询余额,rescan需要设置为true
    
    ./bin/omnicore-cli -rpcconnect=192.168.16.11 -rpcport=8332 -rpcuser=RPCuser -rpcpassword=RPCpasswd importprivkey cR8rJpmWAkRPdPFUPjUjstNqf8mkqQMkEDEpDe3Q485JtaXUbu15
    

    查询余额:

    ./bin/omnicore-cli -rpcconnect=127.0.0.1 -rpcport=18332 -rpcuser=RPCUser -rpcpassword=RPCPassword omni_getbalance mhRPUxrDxL7unBauvgqKkGvsVqnJ3Jx6kU 2
    

    以上仅作为参考,总结不是很到位。

  • 相关阅读:
    SA 的参数
    superobject中 JavaToDelphiDateTime的使用
    关于Linux下进程间使用共享内存和信号量通信的时的编译问题
    Linux匿名管道与命名管道
    C++复数四则运算的实现
    C++类编程(一)const的使用
    读书会思考与学期总结
    xenomai安装
    Xenomai 安装准备工作
    Xenomai
  • 原文地址:https://www.cnblogs.com/mapleChain/p/11527645.html
Copyright © 2011-2022 走看看