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代表开启
相关文章
|
1月前
|
Prometheus 监控 Cloud Native
除了Prometheus,还有哪些工具可以监控Docker Swarm集群的资源使用情况?
除了Prometheus,还有哪些工具可以监控Docker Swarm集群的资源使用情况?
197 79
|
1月前
|
消息中间件 数据可视化 Kafka
docker arm架构部署kafka要点
本内容介绍了基于 Docker 的容器化解决方案,包含以下部分: 1. **Docker 容器管理**:通过 Portainer 可视化管理工具实现对主节点和代理节点的统一管理。 2. **Kafka 可视化工具**:部署 Kafka-UI 以图形化方式监控和管理 Kafka 集群,支持动态配置功能, 3. **Kafka 安装与配置**:基于 Bitnami Kafka 镜像,提供完整的 Kafka 集群配置示例,涵盖 KRaft 模式、性能调优参数及数据持久化设置,适用于高可用生产环境。 以上方案适合 ARM64 架构,为用户提供了一站式的容器化管理和消息队列解决方案。
100 10
|
1月前
|
算法 Shell 定位技术
在Docker环境下搭建openvslam/orb_slam3的步骤和问题总结
总的来说,搭建openvslam或orb_slam3的过程需要一些耐心和技术知识,但只要你遵循上述步骤,并且在遇到问题时进行适当的调试,你应该能够成功搭建并运行openvslam或orb_slam3。
81 11
|
2月前
|
关系型数据库 MySQL Linux
在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾
以上就是在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾的步骤。这个过程就像是一场接力赛,数据从MySQL数据库中接力棒一样传递到备份文件,再从备份文件传递到其他服务器,最后再传递回MySQL数据库。这样,即使在灾难发生时,我们也可以快速恢复数据,保证业务的正常运行。
162 28
|
2月前
|
Ubuntu 安全 Docker
Ubuntu下部署及操作Docker技巧
以上就是在Ubuntu下部署及操作Docker的具体步骤。但这只是冰山一角,Docker的魅力远不仅如此。你可以将其视为存放各种工具的小箱子,随时随地取用,极大地提升工作效率。你也可以私人订制,适应不同的开发环境,就像一个拥有各种口味冰淇淋的冰箱,满足各种各样的需求。好了,现在你已经掌握了基本的Docker运用技巧,快去尝试使用吧!记住,沉浸在探索中,你会找到无尽的乐趣和满满的收获。
172 23
|
3月前
|
安全 API 算法框架/工具
大模型文件Docker镜像化部署技术详解
大模型文件Docker镜像化部署技术详解
408 2
|
2月前
|
前端开发 Linux Docker
docker的安装使用0废话版本自学软硬件工程师778天
win11怎么安装docker的必要设置自学软硬件工程师778天
|
2月前
|
存储 SQL 关系型数据库
docker部署n9e开源版本7.4.0
n9e开源版本7.4.0
151 0
|
30天前
|
开发者 Docker 容器
获取Docker基础使用方法:让容器化变得轻松。
对于Docker的初学者来说,了解这些基础知识点就足够了。实践是最好的老师,越是动手操作,对Docker的理解会越深。祝阅读这篇文章的开发者们一切顺利,愿你在Docker的海洋中航行顺利!
84 17