OpenEuler RISC-V 上跑bitcoin(实战版)

农民  论坛元老 | 2025-3-31 10:02:47 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 1722|帖子 1722|积分 5166

  不久前刚在OpenEuler 24.09 RISC-V上摆设了 bitcoin,不过还没跑起来,这次我筹划在这个情况下面运行一些应用服务,体验一下 OERV 的开辟感觉。
  编译出来的 bitcoin 重要有几个命令,bitcoin-cli、bitcoind、bitcoin-util、bitcoin-wallet、bitcoin-tx和test_bitcoin。
  bitcoind 是比特币核心软件的守护进程步伐,用于在盘算机上运行比特币全节点。它是比特币网络的底子组件,负责下载、验证和存储整个比特币区块链,并与其他节点举行通信。
  bitcoin-cli 是一个命令行工具,用于与运行中的 bitcoind 守护进程举行交互。通过它,用户可以方便地向 bitcoind 发送各种请求,执行各种操纵,如查询区块链信息、管理钱包、发起生意业务等。
  bitcoind-util 包含了一系列比特币相关的实用工具函数和命令,重要用于处理比特币的底子数据,如地址编码、密钥天生、哈希盘算等。
  bitcoin-wallet 重要用于管理比特币钱包,它提供了一系列与钱包操纵相关的功能,帮助用户方便地存储、发送和接收比特币。
  bitcoin-tx 是一个用于处理比特币生意业务的工具,重要用于创建、编辑、签名和广播比特币生意业务。
  test_bitcoin 是比特币核心软件的测试工具,用于对 bitcoind 及相关组件举行单元测试和集成测试,确保代码的正确性和稳定性。
  用法有很多,我重要挑了 bitcoind 和 bitcoin-cli 举行测试,看看运行的时候有没有什么 bug。
 
  bitcoind,光执行这个命令,会输出一大堆服务器的信息

  不过我们也可以选择挂到后台,bitcoind -daemon

  这样就可以利用控制台继续做其它事情了。如果想停下来,可以用 bitcoin-cli stop对服务器举行制止。
  bitcoin-cli 获取到的信息大部分都是以 json 的形式返回,以下是测试结果。
  bitcoin-cli getnetworkinfo(获取区块链网络信息)
  1. {
  2.   "version": 299900,
  3.   "subversion": "/Satoshi:29.99.0/",
  4.   "protocolversion": 70016,
  5.   "localservices": "0000000000000c09",
  6.   "localservicesnames": [
  7.     "NETWORK",
  8.     "WITNESS",
  9.     "NETWORK_LIMITED",
  10.     "P2P_V2"
  11.   ],
  12.   "localrelay": true,
  13.   "timeoffset": 0,
  14.   "networkactive": true,
  15.   "connections": 8,
  16.   "connections_in": 0,
  17.   "connections_out": 8,
  18.   "networks": [
  19.     {
  20.       "name": "ipv4",
  21.       "limited": false,
  22.       "reachable": true,
  23.       "proxy": "",
  24.       "proxy_randomize_credentials": false
  25.     },
  26.     {
  27.       "name": "ipv6",
  28.       "limited": false,
  29.       "reachable": true,
  30.       "proxy": "",
  31.       "proxy_randomize_credentials": false
  32.     },
  33.     {
  34.       "name": "onion",
  35.       "limited": true,
  36.       "reachable": false,
  37.       "proxy": "",
  38.       "proxy_randomize_credentials": false
  39.     },
  40.     {
  41.       "name": "i2p",
  42.       "limited": true,
  43.       "reachable": false,
  44.       "proxy": "",
  45.       "proxy_randomize_credentials": false
  46.     },
  47.     {
  48.       "name": "cjdns",
  49.       "limited": true,
  50.       "reachable": false,
  51.       "proxy": "",
  52.       "proxy_randomize_credentials": false
  53.     }
  54.   ],
  55.   "relayfee": 0.00001000,
  56.   "incrementalfee": 0.00001000,
  57.   "localaddresses": [
  58.   ],
  59.   "warnings": [
  60.     "This is a pre-release test build - use at your own risk - do not use for mining or merchant applications"
  61.   ]
  62. }
复制代码
  bitcoin-cli getblockchaininfo(获取当前的区块链信息,每次输出可能不一样,因为区块链信息可能还没有同步完成到本地,另一方面,区块是不断天生的)
  1. {
  2.   "chain": "main",
  3.   "blocks": 16848,
  4.   "headers": 890116,
  5.   "bestblockhash": "00000000e84734ddbfcae5a7a3438cbc69498fab0f3097c5f866f617d019ab60",
  6.   "bits": "1d00ffff",
  7.   "target": "00000000ffff0000000000000000000000000000000000000000000000000000",
  8.   "difficulty": 1,
  9.   "time": 1244664175,
  10.   "mediantime": 1244660177,
  11.   "verificationprogress": 1.44758331039791e-05,
  12.   "initialblockdownload": true,
  13.   "chainwork": "000000000000000000000000000000000000000000000000000041d141d141d1",
  14.   "size_on_disk": 4791214,
  15.   "pruned": false,
  16.   "warnings": [
  17.     "This is a pre-release test build - use at your own risk - do not use for mining or merchant applications"
  18.   ]
  19. }
复制代码
  bitcoin-cli getmininginfo(获取挖矿信息)
  1. {
  2.   "blocks": 37920,
  3.   "bits": "1d00be71",
  4.   "difficulty": 1.344224970771029,
  5.   "target": "00000000be710000000000000000000000000000000000000000000000000000",
  6.   "networkhashps": 16012268.79171674,
  7.   "pooledtx": 0,
  8.   "chain": "main",
  9.   "next": {
  10.     "height": 37921,
  11.     "bits": "1d00be71",
  12.     "difficulty": 1.344224970771029,
  13.     "target": "00000000be710000000000000000000000000000000000000000000000000000"
  14.   },
  15.   "warnings": [
  16.     "This is a pre-release test build - use at your own risk - do not use for mining or merchant applications"
  17.   ]
  18. }
复制代码
  另一方面,如果输出一个错误的命令,比如 bitcoin-cli abc,会有错误码机制。
  1. error code: -32601
  2. error message:
  3. Method not found
复制代码
  bitcoin-cli createwallet "my_wallet"(创建名字为"my_wallet"的钱包)
  1. {
  2.   "name": "my_wallet"
  3. }
复制代码
  bitcoin-cli -rpcwallet=my_wallet getnewaddress(会为刚刚创建的钱包创建一个地址)
  
  综上来看,bitcoin 应用测试看起来一切顺遂,只管我只测试了最基本的命令行,但这也是探索过程中好的开始。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

农民

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表