zoukankan      html  css  js  c++  java
  • USDT 比特币节点搭建,钱包笔记

    参考:https://www.jianshu.com/p/bd573e2df746

    usdt 节点

    钱包配置设置

    bitcoin.conf

    server=1 #代表开启RPC访问
    txindex=1 #代表事务初始索引
    rpcuser=你的rpc用户名
    rpcpassword=你的rpc密码
    rpcallowip=127.0.0.1 #允许访问的IP
    rpcport=8332 #允许访问的端口
    paytxfee=0.00001 #控制bitcoin交易的手续费
    minrelaytxfee=0.00001 #控制bitcoin交易的手续费
    datacarriersize=80 #含数据的交易大小默认值
    logtimestamps=1
    omnidebug=tally
    omnidebug=packets
    omnidebug=pending

    预估手续费网址

    https://bitcoinfees.earn.com/
    https://www.buybitcoinworldwide.com/

    开启服务

    omnicored -testnet #连接test3测试网络,会同步test3网络的区块数据(约20G)
    omnicored -regtest #单机运行,不需要连接其他网络,区块数据在本地运行。
    omnicored #连接比特币主网网络,会同步真实区块数据(约180G)。

    停止服务

    omnicore-cli stop

    查看信息

    omnicore-cli -getinfo
    omnicore-cli omni_getinfo

    区块同步数据参考网站

    https://btc.com/

    json-rpc协议

    请求对象:
    {
    "jsonrpc": "2.0",//rpc版本号
    "method": "your_method",//方法名
    "params": [//参数数组
    "var1",
    "var2"
    ],
    "id": 9527//请求
    }
    返回对象:
    {"jsonrpc": "2.0", "result": "this is result", "id": 9527}
    错误对象返回:
    {
    "result": null,
    "error": {
    "code": -32601,//错误码
    "message": "Method not found"//错误原因
    },
    "id": 9527
    }

    生成地址

    omnicore-cli getnewaddress
    omnicore-cli getnewaddress feeaccount
    omnicore-cli getaddressesbyaccount feeaccount

    测试网络获取BTC

    https://testnet.coinfaucet.eu/en/
    https://testnet.manu.backend.hamburg/faucet

    测试网络是没有测试usdt的,所有只能用test omni代替usdt进行测试

    发送TBTCmoneyqMan7uh8FqdCA2BV5yZ8qVrc9ikLP即可获得少量TOMNI,汇率为100 TOMNI/1 TBTC,令牌id分别为1和2。

    比特币UTXO

    未花费输出, 找零地址

    返回:UTXO列表

    min_confrim (int,可选) 最小确认
    max_comfrim(int ,可选)最大确认
    address (string[],可选)地址列表
    omnicore-cli listunspent 0 999999 '["mjH1iB7wt5TC4f8qjvZqtmBXd1aCPSPinC"]'

    USDT转账

    omni_funded_send
    omni_funded_sendall
    fromaddress (string,必选) 令牌发送者
    toaddress (string,必选) 令牌接收者
    propertyid (number,必选) 令牌id
    amount (string,必选) 发送金额
    feeaddress (string,可选)用于支付手续费的地址,如果设置此地址,那么此地址上必须拥有比特币
    omnicore-cli omni_funded_send mjH1iB7wt5TC4f8qjvZqtmBXd1aCPSPinC mqrA5Ai8XdKe1ob1L2HwyYr3TXUf9nUeBf 1 5 mpaumxor659PhoJhXp1VCVHVwbFCZSRmuf
    a25260a79243a48df21ca2d9fba2209818ea1339026d91b6476d531929c52dad
    错误返回:
    {
    error code: -212
    error message:Error choosing inputs for the send transaction
    }

    记得发送前检查是否余额充足

    查询交易事务

    omni_gettransaction
    omnicore-cli omni_gettransaction a25260a79243a48df21ca2d9fba2209818ea1339026d91b6476d531929c52dad

    查询地址 USDT余额额

    omni_getbalance
    address 地址
    id 令牌id
    omnicore-cli omni_getbalance mjH1iB7wt5TC4f8qjvZqtmBXd1aCPSPinC 1

    查询钱包内的所有地址的USDT余额列表

    omnicore-cli omni_getwalletaddressbalances

    查询钱包内的USDT总额

    omnicore-cli omni_getwalletbalances

    中心化钱包

    中心化钱包的本质是代替用户托管资产,钱包保存了所有地址的私钥,对上面的令牌有完全的使用权。对于用户而言,对资产的流动有知情权,但并没有实际控制权。一个完整的中心化钱包可以分为两层,记账层和区块底层,至少需要集成四个基本的业务功能
    1,生成地址 #getnewaddress
    2,扫描充值事务 #本地事务,6个确认, 充值到用户的绑定的地址
    3,转移用户地址余额,到中央地址, 注意手续费问题, 上次完成了才能做下次
    4,提现行为, 注意手续费问题, 单例

    linux 守护进程

    ps -axj
    nohup omnicored -testnet &

    php 执行linux命令

    system() 输出并返回最后一行shell结果。
    exec() 不输出结果,返回最后一行shell结果,所有结果可以保存到一个返回的数组里面。
    passthru() 只调用命令,把命令的运行结果原样地直接输出到标准输出设备上。
    相同点:都可以获得命令执行的状态码
    例子:system("ls -al");
    【使用之前要在php.ini中把safe_mode关闭】

  • 相关阅读:
    微信公众号平台接口开发:基础支持,获取微信服务器IP地址
    微信公众号平台接口开发:基础支持,获取access_token
    微信公众号平台接口开发:发送客服消息
    asp.net权限认证篇外:集成域账号登录
    asp.net权限认证:OWIN实现OAuth 2.0 之简化模式(Implicit)
    asp.net权限认证:OWIN实现OAuth 2.0 之授权码模式(Authorization Code)
    asp.net权限认证:OWIN实现OAuth 2.0 之密码模式(Resource Owner Password Credential)
    asp.net权限认证:OWIN实现OAuth 2.0 之客户端模式(Client Credential)
    window配置ftp服务,代码客户端上传下载文件
    制作OpenStack使用的windows镜像
  • 原文地址:https://www.cnblogs.com/xielisen/p/13069080.html
Copyright © 2011-2022 走看看