docker部署omni_usdt 0.8.0版本私有链集群环境

简介: docker部署omni_usdt 0.8.0版本私有链集群环境

一、omni usdt私有链集群环境部署

1.1 omni usdt 镜像构建

  • omni usdt 镜像Dockerfile编写
    mkdir /opt/docker/usdt-image/0.8
    cd /opt/docker/usdt-image/0.8
    
# vim Dockerfile 
FROM buildpack-deps:jessie-curl
RUN wget -O omnicore.tar.gz https://github.com/OmniLayer/omnicore/releases/download/v0.8.0/omnicore-0.8.0-x86_64-linux-gnu.tar.gz \
        && tar -xzvf omnicore.tar.gz \
        && cd omnicore-0.8.0/bin \
        && mv bitcoin-tx omnicore-cli omnicored omnicore-qt  /usr/local/bin \
        && apt-get update \
        && apt-get install net-tools
EXPOSE 8333 8332
WORKDIR /root/.bitcoin
ENTRYPOINT ["omnicored"]
  • 镜像构建脚本编写
# cat build.sh 
#!/bin/bash
docker build . -t btc/omnicore:0.8.0
  • omni usdt 镜像构建
# ./build.sh
  • 查看生成后的omni usdt镜像
# docker images
REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
btc/omnicore         0.8.0               4505f4b8cfd2        7 hours ago        306MB

1.2 omni usdt节点1部署

  • 数据目录创建
    mkdir /opt/docker/usdt-0.8-1
    cd /opt/docker/usdt-0.8-1
    mkdir data
    
  • 容器生成脚本编写
# cat run.sh 
#!/bin/bash

docker run -itd --restart=unless-stopped -v /etc/localtime:/etc/localtime -v /etc/timezone:/etc/timezone --name usdt-0.8-1 -v $(pwd)/data:/root/.bitcoin -p 8332:8332 -p 8333:8333 btc/omnicore:0.8.0 -regtest=1 -server=1 -rpcuser=admin -rpcpassword=123456  -logtimestamps=1  -txindex=1 -omnidebug=tally -omnidebug=packets -omnidebug=pending -paytxfee=0.0002 -deprecatedrpc=generate -rpcworkqueue=1000 -addnode=172.31.56.92:18333 -addnode=172.31.56.92:28333 -rpcport=8332 -rpcallowip=0.0.0.0/0 -port=8333 -rpcbind=0.0.0.0:8332

注:

-addnode=172.31.56.92:18333 节点2的http端口
-addnode=172.31.56.92:28333 节点3的http端口

-rpcport=8332 当前节点的rpc端口
-rpcallowip=0.0.0.0/0 允许调用rpc端口的地址,可以为单独IP
-port=8333 当前节点的http端口
  • 执行容器生成脚本
    /opt/docker/usdt-0.8-1/run.sh
    
  • 查看生成后的容器
# docker ps
CONTAINER ID        IMAGE                COMMAND                  CREATED             STATUS              PORTS                                                                                        NAMES
206a57063aba        btc/omnicore:0.8.0   "omnicored -regtest=…"   7 hours ago         Up 7 hours          0.0.0.0:8332-8333->8332-8333/tcp                                                             usdt-0.8-1

1.3 omni usdt节点2部署

  • 数据目录创建
    mkdir /opt/docker/usdt-0.8-2
    cd /opt/docker/usdt-0.8-2
    mkdir data
    
  • 容器生成脚本编写
# cat run.sh 
#!/bin/bash

docker run -itd --restart=unless-stopped -v /etc/localtime:/etc/localtime -v /etc/timezone:/etc/timezone --name usdt-0.8.0-2 -v $(pwd)/data:/root/.bitcoin -p 18332:8332 -p 18333:8333 btc/omnicore:0.8.0 -regtest=1 -server=1 -rpcuser=admin -rpcpassword=123456  -logtimestamps=1 -txindex=1 -omnidebug=tally -omnidebug=packets -omnidebug=pending -paytxfee=0.0002  -deprecatedrpc=generate -rpcworkqueue=1000 -listen=0 -connect=172.31.56.92:8333 -connect=172.31.56.92:28333 -rpcport=18332 -rpcallowip=0.0.0.0/0 -port=18333 -rpcbind=0.0.0.0:8332 -rpcbind=0.0.0.0:8333

注:

-connect=172.31.56.92:8333 节点1的http端口
-connect=172.31.56.92:28333 节点3的http端口

-rpcport=18332 当前节点的rpc端口
-rpcallowip=0.0.0.0/0 允许调用rpc端口的地址,可以为单独IP地址
-port=18333 当前节点的http端口
  • 执行容器生成脚本
    /opt/docker/usdt-0.8-2/run.sh
    
  • 查看生成后的容器
# docker ps
CONTAINER ID        IMAGE                COMMAND                  CREATED             STATUS              PORTS                                                                                        NAMES
b8efb50033d5        btc/omnicore:0.8.0   "omnicored -regtest=…"   7 hours ago         Up 7 hours          0.0.0.0:8332-8333->8332-8333/tcp                                                             usdt-0.8-2

1.4 omni usdt节点3部署

  • 数据目录创建
    mkdir /opt/docker/usdt-0.8-3
    cd /opt/docker/usdt-0.8-3
    mkdir data
    
  • 容器生成脚本编写
# cat run.sh 
#!/bin/bash

docker run -itd --restart=unless-stopped -v /etc/localtime:/etc/localtime -v /etc/timezone:/etc/timezone --name usdt-0.8-3 -v $(pwd)/data:/root/.bitcoin -p 28332:8332 -p 28333:8333 btc/omnicore:0.8.0 -regtest=1 -server=1 -rpcuser=admin -rpcpassword=123456  -logtimestamps=1 -txindex=1 -omnidebug=tally -omnidebug=packets -omnidebug=pending -paytxfee=0.0002  -deprecatedrpc=generate -rpcworkqueue=1000 -listen=0 -connect=172.31.56.92:8333 -connect=172.31.56.92:18333 -rpcport=28332 -rpcallowip=0.0.0.0/0 -port=28333 -rpcbind=0.0.0.0:8332 -rpcbind=0.0.0.0:8333

注:

-connect=172.31.56.92:8333 节点1的http端口
-connect=172.31.56.92:18333 节点2的http端口

-rpcport=28332 当前节点的rpc端口
-rpcallowip=0.0.0.0/0 允许调用rpc端口的地址,可以为单独IP地址
-port=28333 当前节点的http端口
  • 执行容器生成脚本
    /opt/docker/usdt-0.8-3/run.sh
    
  • 查看生成后的容器
# docker ps
CONTAINER ID        IMAGE                COMMAND                  CREATED             STATUS              PORTS                                                                                        NAMES
cb6644692c3d        btc/omnicore:0.8.0   "omnicored -regtest=…"   7 hours ago         Up 7 hours          0.0.0.0:8332-8333->8332-8333/tcp                                                             usdt-0.8-2

二、omni usdt私有链集群环境验证

验证1:数据同步验证

  • 在节点1中进行挖矿
    curl --user admin:123456 --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "generate", "params": [6] }' -H 'content-type: text/plain;' http://127.0.0.1:8332/
    
  • 节点2及节点3获取区块高度
curl --user admin:123456 --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getblockcount", "params": [] }' -H 'content-type: text/plain;' http://127.0.0.1:18332/

curl --user admin:123456 --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getblockcount", "params": [] }' -H 'content-type: text/plain;' http://127.0.0.1:28332/
  • 在三个节点中获取其中的块号信息
#获取指定高度的区块哈希:
curl --user admin:123456 --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getblockhash", "params": [2] }' -H 'content-type: text/plain;' http://127.0.0.1:8332/

#查询指定区块哈希的区块信息
curl --user admin:123456 --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getblock", "params": ["7bdfe7cb580ebe60c81d67a364fa8cf5ef3a06cdb18fca780957db0abd997413"] }' -H 'content-type: text/plain;' http://127.0.0.1:8332/

验证2:转账交易验证

  • 在节点2中新生成一个地址
curl --user admin:123456 --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getnewaddress", "params": ["test"] }' -H 'content-type: text/plain;' http://127.0.0.1:18332/
  • 从节点1的钱包中向节点2地址转账
    curl --user admin:123456 --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "sendtoaddress", "params": ["mpuD9MkpEe9yWbjeJBopBC66qgZQzteQ9U", 0.5] }' -H 'content-type: text/plain;' http://127.0.0.1:8332/
    
  • 节点1出块上链
curl --user admin:123456 --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "generate", "params": [6] }' -H 'content-type: text/plain;' http://127.0.0.1:8332/
  • 查询btc交易哈希详情
curl --user admin:123456 --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "omni_gettransaction", "params": ["e33f95a026648e6a4cb1ae924c524f0e3772c52253b421050142eb2f1955c941"] }' -H 'content-type: text/plain;' http://127.0.0.1:8332/
  • 查询节点2钱包余额是否增加
curl --user admin:123456 --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getbalance", "params": [] }' -H 'content-type: text/plain;' http://127.0.0.1:18332/

三、节点配置参数详解

3.1 总体配置

# 连接主网还是测试网
testnet=0   # 0 - 主网 1 - 测试网     
# 是否以私有链模式运行
regtest=0  # 0 - 否 1 - 是
# 本地白名单监听地址
whitebind=<addr>  #注释此行,表示使用默认监听地址
# 入站/出站最大连接数
maxconnections=
#添加种子节点
addnode=69.164.218.197  # 可添加多个
#本地监听地址
bind=<addr>   # 注释此行,表示使用默认监听地址
#连接节点地址
connect=69.164.218.197
#是否进入监听模式,默认启用,除非使用了connect配置
listen=1

3.2 rpc配置

# 是否启动JSON-RPC接口
server=0    # 0 - 不启动 1 - 启动
# rpc接口的监听地址,默认绑定到所有IP
rpcbind=<addr>
# rpc接口的监听端口
rpcport=8332
# rpc接口的访问用户名
rpcuser=admin  
# rpc接口远程访问密码
rpcpassword=usdt2019
# 监听端口
port=8333
# rpc访问白名单
rpcallowip=172.31.56.96
# rpc客户端超时秒数
rpcclienttimeout=30
# bitcoin-cli的默认连接地址
rpcconnect=127.0.0.1

3.3 钱包配置

#交易最小确认数,默认值:6
txconfirmtarget=n
#每次发送比特币时的交易费
paytxfee=0.000x

3.4 其他配置

# 密钥池大小
keypool=101
#是否启用隔离见证
walletprematurewitness=1    #默认不启用,1代表开启
相关文章
|
26天前
|
Prometheus 监控 Cloud Native
如何使用Prometheus监控Docker Swarm集群的资源使用情况?
还可以根据实际需求进行进一步的配置和优化,如设置告警规则,当资源使用超出阈值时及时发出警报。通过这些步骤,能够有效地使用 Prometheus 对 Docker Swarm 集群的资源进行监控和管理。
46 8
|
26天前
|
Prometheus 监控 Cloud Native
如何监控Docker Swarm集群的性能?
如何监控Docker Swarm集群的性能?
83 8
|
26天前
|
监控 Docker 容器
Docker Swarm集群的扩展与缩容策略,涵盖其意义、方法、步骤及注意事项
本文深入探讨了Docker Swarm集群的扩展与缩容策略,涵盖其意义、方法、步骤及注意事项,旨在帮助用户高效管理集群资源,适应业务变化,确保服务稳定性和资源优化。
48 6
|
25天前
|
Java 应用服务中间件 Docker
将基于 Spring 的 WAR 应用程序部署到 Docker:详尽指南
将基于 Spring 的 WAR 应用程序部署到 Docker:详尽指南
29 2
|
26天前
|
负载均衡 网络协议 算法
Docker容器环境中服务发现与负载均衡的技术与方法,涵盖环境变量、DNS、集中式服务发现系统等方式
本文探讨了Docker容器环境中服务发现与负载均衡的技术与方法,涵盖环境变量、DNS、集中式服务发现系统等方式,以及软件负载均衡器、云服务负载均衡、容器编排工具等实现手段,强调两者结合的重要性及面临挑战的应对措施。
63 3
|
1月前
|
Java Linux Docker
什么是 Docker?如何将 Spring Boot 应用程序部署到 Docker?
什么是 Docker?如何将 Spring Boot 应用程序部署到 Docker?
43 3
|
1月前
|
持续交付 开发者 Docker
掌握Docker容器化技术,加速软件开发与部署
掌握Docker容器化技术,加速软件开发与部署
51 0
|
18天前
|
监控 NoSQL 时序数据库
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
161 77
|
26天前
|
监控 Docker 容器
在Docker容器中运行打包好的应用程序
在Docker容器中运行打包好的应用程序
|
4天前
|
Unix Linux Docker
CentOS停更沉寂,RHEL巨变限制源代:Docker容器化技术的兴起助力操作系统新格局
操作系统是计算机系统的核心软件,管理和控制硬件与软件资源,为用户和应用程序提供高效、安全的运行环境。Linux作为开源、跨平台的操作系统,具有高度可定制性、稳定性和安全性,广泛应用于服务器、云计算、物联网等领域。其发展得益于庞大的社区支持,多种发行版如Ubuntu、Debian、Fedora等满足不同需求。
19 4

热门文章

最新文章