区块链开源项目Ripple一、简单介绍与环境搭建,部署

2024-06-06 18:38

本文主要是介绍区块链开源项目Ripple一、简单介绍与环境搭建,部署,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、介绍:

Ripple作为比特币的2.0版,改进的方面有:1、无需挖矿 2、共识的改进,区分了普通节点和验证节点(网络上的节点分为两种:普通节点和验证节点

普通节点只能转发交易,信任验证节点,参与投票。验证节点可转发交易,信任其它的验证节点,决定投票)。

作为入门,官网的资料很是全面,从Ripple小白开始,一步步说共识,数据结构等等。但是考虑到很多人看英文文档一头雾水,且文档没有对照代码等问题,

本文作为一个系列的开篇,试图以国内程序员通俗易懂的方式介绍Ripple,并对照相关代码,使开发人员能立即上手调试操作。

首先附上官网的链接https://ripple.com/build/,笔者在开发中,常以这个链接为资料参考,最右侧一栏是ONLINE TOOLS,提供了几种测试工具。

二、环境搭建:

推荐使用Ubunu 14.0以上,WINDOWS64位亦可(32位目前不支持,笔者曾和官方核对,官方给出的答复原文“it's impossible to run a validator on a Raspberry Pi”),笔者就用windows64开发调试,编译部署环境为Ubunu。代码仓库地址:https://github.com/ripple/rippled,(GitHUB上还有相关的工程,ripple-lib/ripple-client-desktop(还有个REST,不过现在不维护这个工程了,也没啥用),前者是nodejs的库,使用ws和底层rippled通信,后者是使用前者的一个客户端,后面再介绍).

windows编译:使用工程目录下Builds\VisualStudio2015编译即可(先安装BOOST1.59和google的proto,具体参考链接https://wiki.ripple.com/Visual_Studio_2013_Build_Instructions)

Ubuntu编译:执行工程下的Builds\Ubuntu目录下的依赖脚本,也可自己wget手动下载安装,参考链接:https://wiki.ripple.com/Ubuntu_build_instructions,

编译是通过SCONS脚本,默认编译出的可执行文件比较大(200多M),可以编辑脚本,查找“-g”,将其注释,这样编译出的可执行程序只有25M左右。

三、网络部署:  

建议配置最少两个验证节点。为了网络的安全性,验证节点可以配置为4-8个。

1.普通节点设置方法:

在配置文件peersafe.cfg中添加信任验证节点的public key。

[validators]

n949f75evCHwgyP4fPVgaHqNHxUVN15PsJEZ3B3HnXPcPjcZAoy7

n9MD5h24qrQqiyBC8aeqqCWvpiBiYQ3jxSr91uiDvmrkyHRdYLUj

n9KiYM9CgngLvtRCQHZwgC2gjpdaZcCcbt3VboxiNFcKuwFVujzS

2.验证节点设置方法:

(1).从本地运行节点中获取随机的validationseed and its associated public key。

# peersafed -q validation create

{

  "status" : "success",

  "validation_key" : "TUCK NUDE CORD BERN LARD COCKENDS ETC GLUM GALE CASK KEG",

  "validation_public_key" :"n9KHn8NfbBsZV5q8bLfS72XyGqwFt5mgoPbcTV4c6qKiuPTAtXYk",

   "validation_seed" :"ssdecohJMDPFuUPDkmG1w4objZyp4"

}

(2).添加validation seed and its associated public key到本地节点的配置文件中。

# [validation_seed]:

#   To performvalidation, this section should contain either a validation seed or key.

#   The validationseed is used to generate the validation public/private key pair.

#   To obtain avalidation seed, use the validation_create command.

#

#   Examples:  RASH BUSH MILK LOOK BAD BRIM AVID GAFF BAITROT POD LOVE

#             shfArahZT9Q9ckTf3s1psJ7C7qzVN

[validation_seed]

ssdecohJMDPFuUPDkmG1w4objZyp4

[validation_public_key]

n9KHn8NfbBsZV5q8bLfS72XyGqwFt5mgoPbcTV4c6qKiuPTAtXYk

(3).添加信任其它的验证节点

在配置文件peersafe.cfg中添加信任其它验证节点的public key。

[validators]

n949f75evCHwgyP4fPVgaHqNHxUVN15PsJEZ3B3HnXPcPjcZAoy7

n9MD5h24qrQqiyBC8aeqqCWvpiBiYQ3jxSr91uiDvmrkyHRdYLUj

n9KiYM9CgngLvtRCQHZwgC2gjpdaZcCcbt3VboxiNFcKuwFVujzS 

3.配置文件修改

 从doc目录下拷贝rippled-example.cfg,改名为rippled.cfg,按照如下方式修改:

           修改[port_rpc_admin_local]中的IP为0.0.0.0,意为接收来自任意IP的HTTP连接。

           修改[port_peer]中的IP为0.0.0.0,意为接收来自任意IP的peer连接。

           修改[port_ws_admin_local]中的IP为本机IP

           修改[ledger_history],指定本节点是否为保存全部历史,如果是,则修改为full,默认为256,意为保存最近256个区块。

           修改[ips],填入连接的对端IP地址和端口号。端口号参见连接节点的配置文件中[port_peer]中的端口。

           修改[validators],填写信任节点的publickey。

           修改[validation_quorum],填入数量,一般为小于信任节点数量的值。如[validators]中信任节点为3,这里填写2.(这个涉及到共识,后面详细说明)

           修改[rpc_startup]中的日志级别,这里记录本地程序运行产生的日志级别。

              修改[ssl_verify],内部使用一般填写0.

其他参数后面用到时再详细说明。

构建网络时,需要考虑哪一个设置为主节点和从节点。无论主从节点,均需在其后指定配置文件(如果和可执行程序在同一目录,那么可以不用指定),对于从节点,还需加参数--start.

在程序的可执行目录下,执行server_info命令查看,当出现"complete_ledgers:1-200" 字样时 ,说明同步完成。

这篇关于区块链开源项目Ripple一、简单介绍与环境搭建,部署的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1036909

相关文章

Python中win32包的安装及常见用途介绍

《Python中win32包的安装及常见用途介绍》在Windows环境下,PythonWin32模块通常随Python安装包一起安装,:本文主要介绍Python中win32包的安装及常见用途的相关... 目录前言主要组件安装方法常见用途1. 操作Windows注册表2. 操作Windows服务3. 窗口操作

SQLite3 在嵌入式C环境中存储音频/视频文件的最优方案

《SQLite3在嵌入式C环境中存储音频/视频文件的最优方案》本文探讨了SQLite3在嵌入式C环境中存储音视频文件的优化方案,推荐采用文件路径存储结合元数据管理,兼顾效率与资源限制,小文件可使用B... 目录SQLite3 在嵌入式C环境中存储音频/视频文件的专业方案一、存储策略选择1. 直接存储 vs

c++中的set容器介绍及操作大全

《c++中的set容器介绍及操作大全》:本文主要介绍c++中的set容器介绍及操作大全,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录​​一、核心特性​​️ ​​二、基本操作​​​​1. 初始化与赋值​​​​2. 增删查操作​​​​3. 遍历方

如何在Spring Boot项目中集成MQTT协议

《如何在SpringBoot项目中集成MQTT协议》本文介绍在SpringBoot中集成MQTT的步骤,包括安装Broker、添加EclipsePaho依赖、配置连接参数、实现消息发布订阅、测试接口... 目录1. 准备工作2. 引入依赖3. 配置MQTT连接4. 创建MQTT配置类5. 实现消息发布与订阅

springboot项目打jar制作成镜像并指定配置文件位置方式

《springboot项目打jar制作成镜像并指定配置文件位置方式》:本文主要介绍springboot项目打jar制作成镜像并指定配置文件位置方式,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录一、上传jar到服务器二、编写dockerfile三、新建对应配置文件所存放的数据卷目录四、将配置文

怎么用idea创建一个SpringBoot项目

《怎么用idea创建一个SpringBoot项目》本文介绍了在IDEA中创建SpringBoot项目的步骤,包括环境准备(JDK1.8+、Maven3.2.5+)、使用SpringInitializr... 目录如何在idea中创建一个SpringBoot项目环境准备1.1打开IDEA,点击New新建一个项

HTML img标签和超链接标签详细介绍

《HTMLimg标签和超链接标签详细介绍》:本文主要介绍了HTML中img标签的使用,包括src属性(指定图片路径)、相对/绝对路径区别、alt替代文本、title提示、宽高控制及边框设置等,详细内容请阅读本文,希望能对你有所帮助... 目录img 标签src 属性alt 属性title 属性width/h

如何使用Haporxy搭建Web群集

《如何使用Haporxy搭建Web群集》Haproxy是目前比较流行的一种群集调度工具,同类群集调度工具有很多如LVS和Nginx,本案例介绍使用Haproxy及Nginx搭建一套Web群集,感兴趣的... 目录一、案例分析1.案例概述2.案例前置知识点2.1 HTTP请求2.2 负载均衡常用调度算法 2.

springboot项目中整合高德地图的实践

《springboot项目中整合高德地图的实践》:本文主要介绍springboot项目中整合高德地图的实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一:高德开放平台的使用二:创建数据库(我是用的是mysql)三:Springboot所需的依赖(根据你的需求再

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热