XDAG同步节点部署

news2024/9/30 13:33:10

系统环境要求

JDK : v17
Maven : v3.9.1-v3.9.5
MySQL : v8.0系列

1、MySQL8.0安装

1)docker-compose安装详情
MySQL安装
2)配置数据库账号密码及键表

# docker exec -it mysql8 /bin/bash
# root@0286a1fd60e6:/# mysql -uroot -p
Enter password:
mysql> CREATE DATABASE xdagj;
Query OK, 0 rows affected (0.00 sec)
mysql> use xdagj;
mysql> CREATE TABLE `t_transaction_history` (
  `fid` int(11) NOT NULL AUTO_INCREMENT,
  `faddress` varchar(64) NOT NULL,
  `faddresstype` tinyint(4) NOT NULL,
  `fhash` varchar(64) NOT NULL,
  `famount` decimal(20,9) unsigned zerofill NOT NULL,
  `ftype` tinyint(4) NOT NULL,
  `fremark` varchar(64) DEFAULT NULL,
  `ftime` datetime(3) NOT NULL,
  PRIMARY KEY (`fid`),
  UNIQUE KEY `id_UNIQUE` (`fid`),
  KEY `faddress_index` (`faddress`)
) ENGINE=InnoDB AUTO_INCREMENT=17392050 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
Query OK, 0 rows affected (0.00 sec)
mysql> CREATE USER 'xdagj'@'%' IDENTIFIED BY 'xdagj';
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON *.* TO 'xdagj'@'%' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

2、准备java编译环境,编译代码

1)安装jdk17

# apt-get install openjdk-17-jdk

2)安装过maven3.9.5

# wget https://dlcdn.apache.org/maven/maven-3/3.9.5/binaries/apache-maven-3.9.5-bin.tar.gz
# tar -xf apache-maven-3.9.5-bin.tar.gz -C /usr/local/
# vim /etc/profile
`
MAVEN_HOME=/usr/local/apache-maven-3.9.5/bin/
export PATH=$PATH:$MAVEN_HOME
`
# source /etc/profile

3)拉取代码并编译代码

# git clone https://github.com/XDagger/xdagj.git
# cd xdagj
# mvn clean package -Dmaven.test.skip=true
# ls dist
xdag.bat  xdagj-linux.zip  xdagj-macos.zip  xdagj-windows.zip  xdag.sh
# mkdir bin
# unzip dist/xdagj-linux.zip -d bin/
# cd bin
ls
druid.properties  log4j2.xml  logs  mainnet  rpc_modules.conf  xdag-devnet.conf  xdagj-0.6.5-shaded.jar  xdag-mainnet.conf  xdag.sh  xdag-testnet.conf

3、下载数据快照

快照地址
在这里插入图片描述

# cd bin
# wget https://storage.xdagpool.com/snapshot-2722283-193b2380000.tar.gz
# mkdir -p mainnet/rocksdb/xdagdb/
# tar -xf snapshot-2722283-193b2380000.tar.gz -d mainnet/rocksdb/xdagdb/

4、编辑配置文件启动节点

编辑xdag-mainnet.conf文件

# cat xdag-mainnet.conf
# Admin Config
admin.telnet.ip = 127.0.0.1
admin.telnet.port = 6001
admin.telnet.password = root

# Pool Config
pool.ip = 0.0.0.0
pool.port = 7001
pool.tag = XdagJ

# Pool-Reward Config
pool.poolRation = 5
pool.rewardRation = 5
pool.fundRation = 5
pool.directRation = 5
pool.fundAddress = FQglVQtb60vQv2DOWEUL7yh3smtj7g1s

# Node config
node.ip = 0.0.0.0
node.port = 8001
node.maxInboundConnectionsPerIp = 8
# 公共节点IP,要找供应商添加白名单
node.whiteIPs = ["152.32.219.239:8001"]
# 同步节点不挖矿,关闭出块
node.generate.block.enable = false 

# Node transaction history config
node.transaction.history.enable = true

# Node libp2p Config
node.libp2p.port = 9001
node.libp2p.isbootnode = true
node.libp2p.privkey = 0x0802122074ca7d1380b2c407be6878669ebb5c7a2ee751bb18198f1a0f214bcb93b894b5
node.libp2p.bootnode = ["enr:-Iu4QPY6bYDC0PaafEwhgg_6yTcx0GAGbSARYqehJKEkyOmxX6SNZMyMMdkmDw9bAvYN9m2LrqIsPSd-bUqff0tsHYABgmlkgnY0gmlwhH8AAAGJc2VjcDI1NmsxoQJ2EWgMpl6PtyFKMbbOb82Ob-al9NeE3GYB3-K7n4yWwoN0Y3CCJxGDdWRwgicR"]

# Node RPC Config
rpc.enabled = true
rpc.http.host = 0.0.0.0
rpc.http.port = 10001
rpc.ws.port = 10002

# Miner Config
miner.globalMinerLimit = 8192
miner.globalMinerChannelLimit = 8192
miner.maxConnectPerIp = 256
miner.maxMinerPerAccount = 256

# Randomx Config
randomx.flags.fullmem = false

编辑druid.properties文件

# cat druid.properties 
driverClassName=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/xdagj?autoReconnect=true&useUnicode=true&characterEncoding=utf-8&&serverTimezone=UTC
username=xdagj
password=xdagj
minIdle=5
initialSize=5
maxActive=10
maxWait=100
testOnBorrow=true
testOnReturn=true
testWhileIdle=true
validationQuery=select 1
validationQueryTimeout=1
timeBetweenEvictionRunsMillis=480000
ConnectionErrorRetryAttempts=3
NotFullTimeoutRetryCount=3
#removeAbandonedTimeoutMillis=480000
#removeAbandoned=true
numTestsPerEvictionRun=3
minEvictableIdleTimeMillis=480000
maxEvictableIdleTimeMillis=600000
keepAliveBetweenTimeMillis=540000

启动节点

sh xdag.sh --enablesnapshot true 2722283 193b2380000
enable snapshot:true
Create New Wallet...
EnterNewPassword:
ReEnterNewPassword:
HdWallet Initializing...
HdWallet Mnemonic: avcd hfbf host aegterg ajfgh lojfob aeogn aedg aegrg sefge jkne adomm
HdWallet Mnemonic Repeat:avcd hfbf host aegterg ajfgh lojfob aeogn aedg aegrg sefge jkne adomm quote
HdWallet Initialized Successfully!
New Address:2a3e4c487lkd2238a2e7a9ec33767852c9ohgfri
init snapshot...
init snapshotJ done
time:371582ms
Our balance: 0.000000000
All amount: 1219994175.999999023
telnetd is running on 127.0.0.1:6001
Nov 20, 2023 8:21:47 PM org.jline.builtins.telnet.PortListener run
INFO: Listening to Port 6,001 with a connectivity queue size of 10.

5、查询操作节点

:~# telnet 127.0.0.1 6001
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
Enter Admin password>**** (mainnet配置文件中有)
xdag> state
Connected to the main network. Synchronizing from low to high.
xdag> balance 
Balance: 0.000000000 XDAG
xdag> account
4rN1bDkkv3oXKF8PUpUZjVxi6wNdCTZ3T 0.000000000 XDAG

xdag> xfer
Lost some param
xdag> net -l
/152.32.219.239:8001 2023-11-20 20:58:33 31424 in/16092 out
/152.32.219.239:34044 2023-11-20 20:59:26 76 in/3 out
xdag> mainblocks
---------------------------------------------------------------------------------------------------------
height        address                            time                      state     mined by            
---------------------------------------------------------------------------------------------------------
02724441   xUjl48zOvF/52Zb2L5VR0cMWkWg66XtD   2023-08-30 11:49:19.999   Main      HTTPS://XDAG.ORG EQUAL
02724440   zIUVbTK3mOcA2QAT6TX3TZ1uLkz/8jn8   2023-08-30 11:48:15.999   Main      HTTPS://XDAG.ORG SOLO
02724439   1oo0o4A5MW302xBvMwD6wQ95O8IwHaJh   2023-08-30 11:47:11.999   Main      https://equal.xdagmine.com
02724438   HSAFCKZD2Veb1tESbpC+8OnqQ1XRd8dC   2023-08-30 11:46:07.999   Main      HTTPS://XDAG.ORG SOLO
02724437   x25cLeypUR0+ZWcTJTHD9RYcqjfca1WX   2023-08-30 11:45:03.999   Main      HTTPS://XDAG.ORG SOLO 2
02724436   rTa41sp/0PKCEHq71X0mRrBv3jHaqejL   2023-08-30 11:43:59.999   Main      HTTPS://XDAG.ORG SOLO
02724435   oM8wBE3GDnk8SvyDacm+MNc3G2ZvDnwA   2023-08-30 11:42:55.999   Main      HTTPS://XDAG.ORG SOLO
02724434   4+tE8yaqNWLsnPjCDcR2zBn+GI+YU5MO   2023-08-30 11:41:51.999   Main      https://equal.xdagmine.com
02724433   XQypGeg0kw0o2N12i/qrqAMBVGnCM187   2023-08-30 11:40:47.999   Main      HTTPS://XDAG.ORG EQUAL 2
02724432   AoHJ26AHu7uZB/IO8KRhChkiimfEBom6   2023-08-30 11:39:43.999   Main      HTTPS://XDAG.ORG EQUAL
02724431   nRTHG0EAu0+PA8ebzKPmYG3r7330G/BN   2023-08-30 11:38:39.999   Main      HTTPS://XDAG.ORG SOLO
02724430   wP/n48EiAPgi6lVgZJPDJeWz8FKei8ds   2023-08-30 11:37:35.999   Main      HTTPS://XDAG.ORG SOLO 2
02724429   pvGiDjz1y3/+msNhvd+ItuOxz9ljZNwJ   2023-08-30 11:36:31.999   Main      HTTPS://XDAG.ORG SOLO 2
02724428   YQb2L97G2cfrw3fUFatI0bIVFBqUvgBb   2023-08-30 11:35:27.999   Main      HTTPS://XDAG.ORG EQUAL 2
02724427   0mYGOhNI9HoaQkSnzNqi1toIH5FIY6PD   2023-08-30 11:34:23.999   Main      HTTPS://XDAG.ORG EQUAL
02724426   htiEatRcljLQz+5TpkJom8wAWpDUluD4   2023-08-30 11:33:19.999   Main      HTTPS://XDAG.ORG EQUAL
02724425   +5C/PJnsgX4HPf+hArteuuapj9NYkzDD   2023-08-30 11:32:15.999   Main      HTTPS://XDAG.ORG EQUAL
02724424   CZGrJgrQz5DAUIcaOcFr/nbH93LGwQvs   2023-08-30 11:31:11.999   Main      HTTPS://XDAG.ORG EQUAL
02724423   0LD7tYPM/YFvn5bGZrHXb0pQCLWkjs/k   2023-08-30 11:30:07.999   Main      HTTPS://XDAG.ORG EQUAL
02724422   YLssHNicvfGB7smQSgJR9b99+lJHi86N   2023-08-30 11:29:03.999   Main      HTTPS://XDAG.ORG SOLO 2
xdag> state
Connected to the main network. Synchronizing from low to high.(没有同步完)
xdag> account
4rN1bDkkv3oXKF8PUpUZjVxi6wNdCTZ3T 20.000000000 XDAG
xdag> help
    account     print first [SIZE] (20 by default) our addresses with their amounts
    address     address-  print extended info for the account corresponding to the address, page size 100
    balance     print balance of the address [ADDRESS] or total balance for all our addresses
    block       print extended info for the block corresponding to the address or hash [A]
    disconnect  disconnect all connections or specified miners
    exit        exit from app/script
    help        command help
    keygen      generate new private/public key pair and set it by default
    lastblocks  print latest [SIZE] (20 by default, max limit 100) main blocks
    mainblocks  print latest [SIZE] (20 by default, max limit 100) main blocks
    minedblocks print list of [SIZE] (20 by default) main blocks mined by current pool
    miners      for pool, print list of recent connected miners
    net         run transport layer command, try 'net --help'
    oldbalance  print max balance we can transfer
    state       print the program state
    stats       print statistics for loaded and all known blocks
    terminate   terminate both daemon and this program
    ttop        display and update sorted information about threads
    xfer        transfer [AMOUNT] XDAG to the address [ADDRESS]
    xfertonew   transfer the old balance to new address
xdag> state
Synchronized with the main network. Normal operation.(同步完成)

curl命令

# 获取最新高度
curl http://127.0.0.1:10001/ -s -X POST -H "Content-Type: application/json" --data "{\"jsonrpc\":\"2.0\",\"method\":\"xdag_blockNumber\",\"params\":[],\"id\":1}"
{"jsonrpc":"2.0","id":1,"result":"2836571"}
# 获取钱包地址余额
curl http://127.0.0.1:10001/ -s -X POST -H "Content-Type: application/json" --data "{\"jsonrpc\":\"2.0\",\"method\":\"xdag_getBalance\",\"params\":[\"4rN1bDkkv3oXKF8PUpUZjVxi6wNdCTZ3T\"],\"id\":1}"
{"jsonrpc":"2.0","id":1,"result":"20.000000000"}
# curl判断是否同步完成
curl http://127.0.0.1:10001/ -s -X POST -H "Content-Type: application/json" --data "{\"jsonrpc\":\"2.0\",\"method\":\"xdag_syncing\",\"params\":[],\"id\":1}"
# 同步没完成
{"jsonrpc":"2.0","id":1,"result":{"currentBlock":null,"highestBlock":null,"isSyncDone":false}}
# 同步完成
{"jsonrpc":"2.0","id":1,"result":{"currentBlock":"2837021","highestBlock":"2837021","isSyncDone":true}}

更多文档详情

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1235034.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【开源】基于Vue.js的教学过程管理系统

项目编号: S 054 ,文末获取源码。 \color{red}{项目编号:S054,文末获取源码。} 项目编号:S054,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 教师端2.2 学生端2.3 微信小程序端2…

YOLOv7训练:_pickle.UnpicklingError: STACK_GLOBAL requires str

在YOLOv7训练过程中,出现以下错误: 原因就是: 这个数据集在其他地方运行过产生了**.cache**文件 解决方案(亲测有效): 删除数据集中的所有 label.cache文件,比如训练集、验证集、测试集都删…

【AICFD案例教程】IGBT对流换热分析

AICFD是由天洑软件自主研发的通用智能热流体仿真软件,用于高效解决能源动力、船舶海洋、电子设备和车辆运载等领域复杂的流动和传热问题。软件涵盖了从建模、仿真到结果处理完整仿真分析流程,帮助工业企业建立设计、仿真和优化相结合的一体化流程&#x…

【JavaEE初阶】 JavaScript基础语法——贰

文章目录 🌲条件语句🚩if 语句🚩三元表达式🚩switch🚩循环语句🎈while 循环🎈continue🎈break🎈for 循环 🍀数组🚩创建数组🚩获取数组…

【cpolar】TortoiseSVN如何安装并实现公网提交文件到本地SVN服务器

🎥 个人主页:深鱼~ 🔥收录专栏:cpolar 🌄欢迎 👍点赞✍评论⭐收藏 文章目录 前言1. TortoiseSVN 客户端下载安装2. 创建检出文件夹3. 创建与提交文件4. 公网访问测试 前言 TortoiseSVN是一个开源的版本控…

数据结构——散列表

参考书籍: 《数据结构与抽象:Java语言描述》 第四版 一、背景知识 散列(hashing):是仅利用项的查找键,无需查找就可确定其下标的一项技术散列表(hash table):数组散列索引…

设计循环队列(c语言)

前言 在上一篇文章中我们了解了关于循环队列的基本特性: 1、当rear front时,表示队列为空 2、当rear 1 front时,表示队列已满 当我们需要实现循环队列时,通常会选择使用链表或数组来存储队列中的元素。而使用数组来实现循环队…

OGG-01224 Address already in use 问题

ERROR OGG-01224 Oracle GoldenGate Manager for Oracle, mgr.prm: Address already in use. ERROR OGG-01668 Oracle GoldenGate Manager for Oracle, mgr.prm: PROCESS ABENDING. 查看端口被占用情况: [rootcenterone ogg]# lsof -i:7809原因mgr 7809 端口被占…

日常办公:批处理编写Word邮件合并获取图片全路径

大家在使用Word邮件合并这个功能,比如制作席卡、贺卡、准考证、员工档案、成绩单、邀请函、名片等等,那就需要对图片路径进行转换处理,此脚本就是直接将图片的路径提取出来,并把内容放到txt格式的文本文档里,打开Excel…

2023年【施工升降机司机(建筑特殊工种)】最新解析及施工升降机司机(建筑特殊工种)考试资料

题库来源:安全生产模拟考试一点通公众号小程序 施工升降机司机(建筑特殊工种)最新解析参考答案及施工升降机司机(建筑特殊工种)考试试题解析是安全生产模拟考试一点通题库老师及施工升降机司机(建筑特殊工种)操作证已考过的学员汇总,相对有效帮助施工升…

Halcon Solution Guide I basics(0): 导论解析

文章目录 文章专栏前言文章目录翻译文档的说明 结论LOL比赛结局 文章专栏 Halcon开发 前言 今天开始看Halcon的官方文档。由于市面上的教学主要是以基础的语法,算子简单介绍为主。所以我还是得看官方的文本。别的不多说了。有道词英语词典,启动。 还有…

数字IC基础:有符号数和无符号数的加减运算

相关阅读 数字IC基础https://blog.csdn.net/weixin_45791458/category_12365795.html?spm1001.2014.3001.5482 首先说明,本篇文章并不涉及补码运算正确性的证明,仅是对补码运算在有符号数和无符号数中运行进行讨论。 补码运算最大的作用在于消除计算机…

线程池有几种创建方式?

程序员的公众号:源1024,获取更多资料,无加密无套路! 最近整理了一波电子书籍资料,包含《Effective Java中文版 第2版》《深入JAVA虚拟机》,《重构改善既有代码设计》,《MySQL高性能-第3版》&…

开源的进销存系统都有哪些?

开源的进销存系统有很多,以下是其中一些比较流行的: OpenERP:一个集成了多个业务功能的开源ERP软件,可以实现进销存管理,会计,仓库管理,销售管理等业务功能。 Odoo:是OpenERP的一个分支&#x…

【C语言】数据结构——栈和队列实例探究

💗个人主页💗 ⭐个人专栏——数据结构学习⭐ 💫点击关注🤩一起学习C语言💯💫 目录 导读:一、 栈1. 栈的概念及结构2. 栈的实现3. 实现代码3.1 定义结构体3.2 初始化栈3.3 销毁栈3.4 入栈3.5 出栈…

2023年G3锅炉水处理证考试题库及G3锅炉水处理试题解析

题库来源:安全生产模拟考试一点通公众号小程序 2023年G3锅炉水处理证考试题库及G3锅炉水处理试题解析是安全生产模拟考试一点通结合(安监局)特种作业人员操作证考试大纲和(质检局)特种设备作业人员上岗证考试大纲随机…

【数据结构】栈和队列的模拟实现

前言:前面我们学习了单链表并且模拟了它的实现,今天我们来进一步学习,来学习栈和队列吧!一起加油各位,后面的路只会越来越难走需要我们一步一个脚印! 💖 博主CSDN主页:卫卫卫的个人主页 &#x…

提升--09-1--AQS底层逻辑实现

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、怎么解释AQS是什么?AQS的本质是JUC包下一个抽象类,AbstractQueuedSynchronizer (抽象的队列式同步器) 二、AQS核…

基于霍克斯过程的限价订单簿模型下的深度强化学习做市策略

数量技术宅团队在CSDN学院推出了量化投资系列课程 欢迎有兴趣系统学习量化投资的同学,点击下方链接报名: 量化投资速成营(入门课程) Python股票量化投资 Python期货量化投资 Python数字货币量化投资 C语言CTP期货交易系统开…

【secureCRT连接Virtual Box里安装的Utuntu】

先说一下为什么要写这篇文章及一些背景问题介绍,楼主第一次使用secureCRT及securtFX这两个软件,在windows系统下访问虚拟机里面的ubuntu系统。看了网上的不少帖子,没有让我清晰明白地知道怎么使用secureCRT。连接不通,不知道是虚拟…