比特币客户端和API

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.rhkb.cn/news/418900.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于深度学习 卷积神经网络resnext50的中医舌苔分类系统

项目概述 本项目旨在通过深度学习技术&#xff0c;特别是利用卷积神经网络&#xff08;Convolutional Neural Networks, CNNs&#xff09;中的ResNeXt50架构&#xff0c;实现对中医舌象图像的自动分类。该系统不仅能够识别不同的舌苔类型&#xff0c;还能够在PyQt5框架下提供一…

简单实用的php全新实物商城系统

免费开源电商系统,提供灵活的扩展特性、高度自动化与智能化、创新的管理模式和强大的自定义模块,让电商用户零成本拥有安全、高效、专业的移动商城。 代码是全新实物商城系统源码版。 代码下载

ngrok | 内网穿透,支持 HTTPS、国内访问、静态域名

前言 当我们需要把本地开发的应用展示给外部用户时&#xff0c;常常会因为无法直接访问而陷入困境。 就为了展示一下&#xff0c;买服务、域名&#xff0c;搭环境&#xff0c;费钱又费事。 那有没有办法&#xff0c;让客户直接访问自己本机开发的应用呢&#xff1f; 这种需…

Vue 使用接口返回的背景图片和拼图图片进行滑动拼图验证

一、背景 前两天发了一篇 vue-monoplasty-slide-verify 滑动验证码插件使用及踩坑_vue-monoplasty-slide-verify 引用后不显示-CSDN博客 这两天项目又需要通过接口校验&#xff0c;接口返回了背景图片和拼图图片&#xff0c;于是在网上找了一篇帖子&#xff0c;vue 图片滑动…

安卓玩机工具------小米工具箱扩展工具 小米机型功能拓展

小米工具箱扩展版 小米工具箱扩展版 iO_Box_Mi_Ext是由晨钟酱开发的一款适用于小米&#xff08;MIUI&#xff09;、多亲&#xff08;2、2Pro&#xff09;、多看&#xff08;多看电纸书&#xff09;的多功能工具箱。该工具所有功能均可以免root实现&#xff0c;使用前&…

2024/9/6黑马头条跟学笔记(三)

D3 内容介绍 jdk8新特性&#xff0c;stream流&#xff0c;lambda表达式 ​ 自媒体前后端搭建 步骤 sql—— 实体—— 微服务拷贝&#xff0c;配置nacos—— spring:datasource:driver-class-name: com.mysql.jdbc.Driverurl: jdbc:mysql://192.168.233.136:3306/leadnews_…

基于Spring Boot的火车订票管理系统

你好呀&#xff0c;我是计算机学姐码农小野&#xff01;如果有相关需求&#xff0c;可以私信联系我。 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;JAVA语言 Spring Boot框架 工具&#xff1a;IDEA/Eclipse、Navicat、Tomcat 系统展示 首页 管理…

Android Jetpact Lifecycle 解析

认识 Lifecycle Lifecycle 是什么 Lifecycle 是 Jetpack 组件库中的一个生命周期感知型组件。在 Lifecycle 出现之前&#xff0c;需要手动从外部宿主&#xff08;如 Activity、Fragment 或自定义宿主&#xff09;中将生命周期事件分发到功能组件内部&#xff0c;这势必会造成…

SAM 2:分割图像和视频中的任何内容

文章目录 摘要1 引言2 相关工作3 任务&#xff1a;可提示视觉分割4 模型5 数据5.1 数据引擎5.2 SA-V数据集 6 零样本实验6.1 视频任务6.1.1 提示视频分割6.1.2 半监督视频对象分割6.1.3 公平性评估 6.2 图像任务 7 与半监督VOS的最新技术的比较8 数据和模型消融8.1 数据消融8.2…

RT-Thread(Nano版本)的快速移植(基于NUCLEO-F446RE)

目录 概述 1 RT-Thread 1.1 RT-Thread的版本 1.2 认识Nano版本 2 STM32F446U上移植RT-Thread 2.1 STM32Cube创建工程 2.2 移植RT-Thread 2.2.1 安装RT-Thread Packet 2.2.2 加载RT-Thread 2.2.3 匹配相关接口 2.2.3.1 初次编译代码 2.2.3.2 匹配端口 2.2.4 移植FinSH…

时间同步服务

多主机协作工作时&#xff0c;各个主机的时间同步很重要&#xff0c;时间不一致会造成很多重要应用的故障&#xff0c;如&#xff1a;加密协 议&#xff0c;日志&#xff0c;集群等。 利用NTP&#xff08;Network Time Protocol&#xff09; 协议使网络中的各个计算机时间达到…

OceanBase 4.x 存储引擎解析:如何让历史库场景成本降低50%+

据国际数据公司&#xff08;IDC&#xff09;的报告显示&#xff0c;预计到2025年&#xff0c;全球范围内每天将产生高达180ZB的庞大数据量&#xff0c;这一趋势预示着企业将面临着更加严峻的海量数据处理挑战。随着数据日渐庞大&#xff0c;一些存储系统会出现诸如存储空间扩展…

AF透明模式/虚拟网线模式组网部署

透明模式组网 实验拓扑 防火墙基本配置 接口配置 eth1 eth3 放通策略 1. 内网用户上班时间&#xff08;9:00-17:00&#xff09;不允许看视频、玩游戏及网上购物&#xff0c;其余时 间访问互联网不受限制&#xff1b;&#xff08;20 分&#xff09; 应用控制策略 2. 互联…

IBM Storwize V7000存储控制器故障节点报错574

背景&#xff1a;由于客户机房搬迁&#xff0c;需要下电迁移设备。该存储自2016年投入生产使用后&#xff0c;从未关过机&#xff0c;已正常运行七八年时间&#xff0c;期间只更换过硬盘&#xff0c;无其他硬件故障。 在GUI界面点击关闭系统后&#xff0c;大概等了40分钟&…

说一下解除docker限制内存警告

有时候docker要对容器使用的内存做出限制&#xff0c;通常的做法是使用参数 -m 例如&#xff1a; docker run -m 512M表示容器内存最大不能超过512M。 但这样做&#xff0c;在ubuntu会看到以下警告 WARNING: Your kernel does not support swap limit capabilitiesdocker官方…

从监控到智能:EasyCVR视频汇聚平台助力加油站安全监管升级转型

随着科技的不断进步&#xff0c;视频监控技术在各个行业的应用日益广泛&#xff0c;尤其在加油站这一关键领域&#xff0c;视频智能监管系统的应用显得尤为重要。TSINGSEE青犀视频EasyCVR视频汇聚平台作为一款基于“云-边-端”一体化架构的视频融合与AI智能分析平台&#xff0c…

JAVA读写Excel(jxl,poi,easyExcel)

目录 一、需求描述 二、具体操作Excel的常用方法 方法一&#xff1a; 使用jxl 方法二&#xff1a; POI 方法三&#xff1a;EasyExcel 三、总结 一、需求描述 前端有时候会传送 Excel 文件给后端&#xff08;Java&#xff09;去解析&#xff0c;那我们作为后端该如何实现…

Jenkins+Svn+Vue自动化构建部署前端项目(保姆级图文教程)

目录 介绍 准备工作 配置jenkins 构建部署任务 常见问题 介绍 在平常开发前端vue项目时,我们通常需要将vue项目进行打包构建,将打包好的dist目录下的静态文件上传到服务器上,但是这种繁琐的操作是比较浪费时间的,可以使用jenkins进行自动化构建部署前端vue 准备工作 准备…

AI模型的未来之路:全能与专精的博弈与共生

人工智能(AI)领域正迅速发展,伴随着技术的不断进步,AI模型的应用范围也在不断扩展。当前,AI模型的设计和使用面临两个主要趋势:全能型模型和专精型模型。这两者之间的博弈与共生将塑造未来的AI技术格局。本文将从以下七个方面探讨AI模型的未来之路,并提供实用的代码示例…

ROS1 + Realsense d455 固件安装+读取rostopic数据

目录 安装固件&#xff08;一定要匹配&#xff09;ROS1 wrapper 安装方法Realsense SDK 安装方法Realsense Firmware 安装方法 修改roslaunch配置文件&#xff0c;打开双目图像和IMU数据其他坑点参考链接 安装固件&#xff08;一定要匹配&#xff09; 如果你是使用ROS1获取rea…