比特币客户端和API

news2024/12/23 15:10:28

1. 比特比客户端的安装

        Bitcoin Core 客户端适用于从 x86 Windows 到 ARM Linux 的不同架构和平台,如下图所示:

2. Bitcoin Core客户端的类型 

        2.1 Bitcoind

        Bitcoind 末尾的字母 d 表示 daemon (守护程序)。所谓守护程序,就是指常驻内存能够连接运行的程序(就好像守护者一样),用于处理计算机系统希望接收到的阶段性的服务需求。daemon 程序段可以将请求提交给其他适合的程序(或者进程)。Bitcoind 作为守护程序运行的核心客户端软件,提供 JSON-RPC 接口,可以持续等待从网络客户端及其用户发送来的请求。

        2.2 Bitcoin-cli

        Bitcoin-cli 末尾的 cli 给示 command line(命令行),它是与 Bitcoind 交互的功能丰富的命令行工具。Bitcoind 与区块链进行交互并执行各种功能。Bitcoin-cli 仅调用 JSON-RPC 功能,并且不会在区块链上自行执行任何操作。

        2.3 Bitcoin-qt

Bitcoin-qt 末尾的 qt 表示一个 C++ 库,包括图形用户界面(Graphical User Interface,GUI),因此 Bitcoin-qt 是 Bitcoin Core 客户端的 GUI。当钱包首次启动时,它将验证磁盘上的区块,然后启动并显示下图的 GUI 。

        验证过程并不特定于 Bitcoin-qt 客户端,它也是由 Bitcoind 客户端执行的。

3. 设置比特币网络节点

        下图显示了在 Ubuntu 上安装 Bitcoin Core 的运行示例。

对于其他平台,你可以从以下网址获取详细信息:

        https://bitcoin.org/en/

(1) 运行以下命令:

[admin@daolian~]$sudo apt-get update

(2)根据需要安装的客户端,可以使用以下任一命令,也可以一次发出两个命令:

[admin@daolian ~]$sudo apt-get install bitcoind
[admin@daolian ~]$sudo apt-get install bitcoin-qt
[admin@daolian ~]$sudo apt-get install bitcoin-qt bitcoind
Reading package lists... Done
Building dependency tree
Reading state information ... Done

 4. 设置源代码

        如果用户希望参与比特币代码开发或用于学习目的,则可以下载和编译比特币源码。以下 git 命令可用于下载比特币源代码:

[admin@daolian ~]$sudo apt-get install git
[admin@daolian ~]$mkdir bcsource
[admin@daolian ~]$cd bcsource
[admin@daolian ~]$git clone https://github.com/bitcoin/bitcoin.git
Cloning into 'bitcoin'.....
remote: Counting objects:78960,done.

将目录更改为 bitcoin:

[admin@daolian ~]$cd bitcoin

完成以上步骤后,可以编译代码:

[admin@daolian ~]$./autogen.sh
[admin@daolian ~]$./configure.sh
[admin@daolian ~]$make
[admin@daolian ~]$sudo make install

 5. 设置 bitcoin.conf

        bitcoin.conf 文件是配置文件,Bitcoin Core 客户端使用该文件保存配置信息,可以在配置文件中设置 Bitcoind 客户端的所有命令行选项(-conf 开关除外)。当启动 Bitcoin-qt 或 Bitcoind 时,它将从该文件中获取配置信息。

        在 Linux 系统中,通常可以在 $HOME /.bitcoin/中找到该配置文件,或者在命令行中使用 -conf=<file> 开关指定它。

6. 在测试网中启动节点

        如果要测试比特币网络并运行实验,则可以在 testnet 模式下启动比特币节点。与实时网络相比,这是一个更快的网络,并且对于采矿和交易具有宽松的规则。

        比特币测试网络可以使用各种终端服务,例如比特币 testnet 沙箱,用户可以请求将比特币支付到 testnet 比特币地址。

注意:

测试网访问地址如下:

https://testnet.manu.backend.hamburg/

         这对于在测试网上试验交易非常有用。启动 testnet 的命令行如下:

[root@localhost ~]#bitcoind --testnet -daemon
[root@localhost ~]#bitcoin-cli --testnet <command>
[root@localhost ~]#bitcoin-qt --testnet

7. 以 regtest 模式启动节点

regtest 模式(回归测试模式)可创建用于测试目的的本地区块链。

可以使用以下命令以 regtest 模式启动节点:

[admin@daolian ~]$bitcoind -regtest -daemon
Bitcoin server starting

可以使用以下命令生成区块:

[admin@daolian ~]$bitcoin-cli -regest generate 200

在 Linux 系统上,可以在.bitcoin/regtest 目录的 debug.log 中查看相关日志消息,如下图所示:

8. 使用Bitcoin-cli 进行实验

        Bitcoin-cli 是 Bitcoin Core 客户端提供的命令行界面,可通过 Bitcoin Core 客户端提供的 RPC 接口执行各种功能,如下图所示 

可以通过如下图所示的命令显示所有命令的列表。 

        上图显示了 Bitcoin-cli (比特币命令行)界面中可用的各种命令行选项的列表,这些命令可用于查询区块链并控制本地节点。

9. 比特币编程和命令行接口

        比特币编程现在是一个非常丰富的领域。Bitcoin Core 客户端公开了各种 JSON-RPC 命令,这些命令可用于构造原始交易并通过自定义脚本或程序执行其他功能。

        此外,还可以使用命令行工具 Bitcoin-cli,该工具利用 JSON-RPC 接口并提供丰富的工具集来处理比特比。

        这些 API 可以通过在线服务提供商以比特币 API 的形式获得,它们提供一个简单的 HTTP REST 接口。常见的比特币 API 在线服务提供商如下:

  • Blockchain.info

                https://blockchain.info/api

  • BitPay

                https://bitpay.com/api

  • Block.io

                https://www.block.io

这些在线服务提供商提供多种选择开发比特币的解决方案。

除此之外,还有各种库可用于比特币编程。常见的库列表如下:

  • Libbitcoin。提供强大的命令行实用程序和客户端,其网址如下:

                https://libbitcoin.dyne.org

  • Pycoin。支持 Python 的库,其网址如下,

                https://github.com.richardkiss/pycoin

  • Bitcoinj。以 Java 实现的库,其网址如下:

                https://bitcoinj.github.io/

有许多在线比特币 API 可用。下面列出了最常用的 API 。

  • https://bitcore.io
  • https://bitcoinjs.org/
  • https://blockchain.info/api

        由于 API 提供几乎类似的功能类型,因此用户在决定使用哪个 API 时会感到困惑。另外,由于 API 都具有丰富的功能,因此很难推荐最好的 API 。但是,用户要牢记安全第一。第当评估使用 API 时,除了评估其提供的功能外,还要评估该 API 设计的安全性。 

 

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

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

相关文章

【完美解决】电脑蓝屏 驱动丢失或包含错误问题的解决办法

电脑开机出现了蓝屏报错进入恢复页&#xff1a; 无法加载操作系统&#xff0c;原因是关键系统驱动程序丢失或包含错误 文件 \windows\system32\XXXXX 错误代码&#xff1a;XXXX 重启无数次也不行&#xff0c;安全模式进不去&#xff0c;修复也不行 查了一圈&#xff0c;尝试了…

【深度学习详解】Task3 实践方法论-分类任务实践 Datawhale X 李宏毅苹果书 AI夏令营

前言 综合之前的学习内容&#xff0c; 本篇将探究机器学习实践方法论 出现的问题及其原因 &#x1f34e; &#x1f34e; &#x1f34e; 系列文章导航 【深度学习详解】Task1 机器学习基础-线性模型 Datawhale X 李宏毅苹果书 AI夏令营 【深度学习详解】Task2 分段线性模型-引入…

南通网站建设手机版网页

随着移动互联网的迅猛发展&#xff0c;越来越多的人通过手机浏览网页&#xff0c;进行在线购物、信息查询和社交互动。因此&#xff0c;建立一个适合移动端访问的网站已成为企业和个人不可忽视的重要任务。在南通&#xff0c;网站建设手机版网页的需求逐渐增加&#xff0c;如何…

springboot整合Logback

Logback介绍 描述 Logback是由log4j创始人设计的另外一种开源日志组件&#xff0c;性能比log4j要好。相对是一个可靠、通用、快速而又灵活的Java日志框架。 Logback主要分三个模块 1、logback-core&#xff1a;其他两个模块的基础模块 2、logback-classic&#xff1a;它是lo…

基于AIM平台实现对SAP PO平台的监控告警管理及WeLink告警案例

一、客户背景 某集团基于SAP PO平台统一管理的接口量较大&#xff0c;为了方便团队进行后期维护和管理&#xff0c;固上此AIM监控平台系统&#xff0c;用于接口日常运行、SAP PO各类型指标和系统性能方面的监控&#xff0c;多种告警类型渠道满足各种用户需求&#xff0c;采用…

ESP8266下载固件→连接阿里云

一、工具准备 1、ESP8266Wifi模块 2、ESP8266下载器 ESP8266-01模块 二、固件配置 CH340串口工具-烧录ESP8266-01固件_esp8266 ch340烧录-CSDN博客文章浏览阅读444次&#xff0c;点赞6次&#xff0c;收藏3次。CH340会有供电不足的问题&#xff0c;因此需要外部供电_esp…

【leetcode详解】清除数字:栈思想解决字符串问题(思路详解)

实战总结 string的常用方法&#xff1a; pop_back, push_back使得可以直接像操作栈一样操作string类型 注意&#xff0c;上面两个方法只能对单个字符char操作但是‘ ’对 char 和 string 均适用 题面 思路详解&#xff1a; 不妨对比一下其他思路&#xff1a; 双指针&#…

《高等代数》相邻两行(列)相差K倍行列式

说明&#xff1a;此文章用于本人复习巩固&#xff0c;如果也能帮助到大家那就更加有意义了。 注&#xff1a;1&#xff09;相邻两行&#xff08;列&#xff09;相差K倍行列式需要关注行&#xff08;列&#xff09;与行&#xff08;列&#xff09;之间的关系&#xff0c;运用适当…

《卷积神经网络 CNN 原理探秘》

CNN基本原理详解 卷积神经网络&#xff08;Convolutional Neural Network&#xff0c;简称CNN&#xff09;&#xff0c;是一种前馈神经网络&#xff0c;人工神经元可以响应周围单元&#xff0c;可以进行大型图像处理。卷积神经网络包括卷积层和池化层。 卷积神经网络是受…

实验室ICPR 2024论文分享┆DS MYOLO:一种基于状态空间模型的驾驶场景可靠目标检测器

论文分享简介 本推文详细介绍了一篇实验室的最新论文成果《DS MYOLO: A Reliable Object Detector Based on SSMs for Driving Scenarios》&#xff0c;该论文已被第27届国际模式识别大会&#xff08;ICPR&#xff09;接收&#xff0c;论文的第一作者为李杨。论文提出了一种基…

使用Cloudflare构建RAG应用;端到端语音开源大模型;AI幻灯片生成器,等六个开源项目

✨ 1: Cloudflare RAG 如何使用Cloudflare构建一个完整的RAG应用&#xff0c;结合多种搜索技术和AI服务。 Cloudflare RAG&#xff08;Retrieval Augmented Generation&#xff09;是一个全栈示例&#xff0c;展示如何使用 Cloudflare 构建 RAG 应用程序。该项目结合了 Cloud…

新能源车“卖电”有多赚?多地试点反向充电

新能源车“卖电”有多赚&#xff1f;多地试点车对桩反向充电 据经济观察报了解&#xff0c;在不同的城市&#xff0c;新能源车主参与车网互动获得的收益差异颇大。同时&#xff0c;有的车主担心增加充放电次数影响电池寿命&#xff0c;不愿意参与。 今年入夏以来&#xff0c;随…

C#实战|大乐透选号器[2]:初始化动态生成大乐透红球区选择球

哈喽,你好啊,我是雷工! 红球区和篮球区的选择球可以通过拖拽控件一个一个的拖放实现,但该方法太浪费时间,可以使用循环动态生成; 只要通过观察找到每个球的位置坐标的规律,就可以通过循环生成,这样即使有再多球也不至于一个一个的拖放实现了; 以下为初始化动态生成大乐…

Redis在Spring Boot中的应用详细讲解和案例示范

深入理解Redis在Spring Boot中的应用 Redis 作为一种高性能的键值数据库&#xff0c;常被用于缓存、会话管理和其他需要快速访问的数据存储场景中。在 Spring Boot 项目中集成 Redis&#xff0c;可以显著提高应用的性能和可扩展性。本篇文章将深入探讨如何在 Spring Boot 中使…

几千块考的证,公司根本不认,「PMP证书」是智商税吗?

有很多小伙伴们担心&#xff0c;自己的公司并不认可PMP证书&#xff0c;觉得考这个证书没什么用。 真的是这样吗&#x1f914;&#xff1f;但据观察来看&#xff0c;PMP主要是北上广深等发达城市的认可度更高&#xff0c;有75%都是来自于北上广深以及江苏、浙江等经济发达地区。…

内裤洗衣机是鸡肋吗?五大品质拔尖的佳品一览

当代年轻人对生活品质的追求日益迫切&#xff0c;现在许多用户都开始注重整理和清洗衣物&#xff0c;举例来说&#xff0c;通常会把婴儿的小件衣物分开洗&#xff0c;将不同类型的衣物分开洗&#xff0c;甚至是将内衣也分开洗&#xff0c;主要由于大型洗衣机的卫生问题又堪忧&a…

Android OpenGLES开发:EGL环境搭建

努力&#xff0c;不是为了要感动谁&#xff0c;也不是要做给哪个人看&#xff0c;而是要让自己随时有能力跳出自己厌恶的圈子&#xff0c;并拥有选择的权利&#xff0c;用自己喜欢的方式过一生&#xff01; EGL是什么&#xff1f; 谈到openGL开发我们就不得不说EGL&#xff0c…

eetrade:黄金分哪几种,什么金最好

随着黄金价格的持续走高&#xff0c;越来越多的消费者开始关注黄金的购买。市场上出现了多种黄金类型&#xff0c;如足金、千足金、万足金、3D硬金、古法黄金等&#xff0c;让人感到困惑。本文将为您详细解析这些黄金的种类及其含金量&#xff0c;帮助您更好地理解和选择。 一…

备忘录在哪添加图片?桌面备忘录能保存图片吗

在快节奏的生活中&#xff0c;备忘录app已成为我们日常工作和学习的得力助手。它帮助我们规划任务、提醒重要事件&#xff0c;确保一切井然有序。但备忘录的用途远不止于此&#xff0c;随着科技的发展&#xff0c;现在的备忘录功能已经越来越强大。 很多人习惯在备忘录中记录文…

2.门锁_STM32_舵机设备实现

概述 需求来源&#xff1a; 门锁的开启和关闭&#xff0c;就是电机来控制。这里不进行实际门锁机械结构的设计&#xff0c;选择用舵机或者电机转动一定的角度&#xff0c;就代表门锁开启。 舵机开发整体思路&#xff1a; 使用STM32裸机开发舵机&#xff0c;使得舵机可以实现…