区块链开源项目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

相关文章

Springboot项目启动失败提示找不到dao类的解决

《Springboot项目启动失败提示找不到dao类的解决》SpringBoot启动失败,因ProductServiceImpl未正确注入ProductDao,原因:Dao未注册为Bean,解决:在启... 目录错误描述原因解决方法总结***************************APPLICA编

MySQL常用字符串函数示例和场景介绍

《MySQL常用字符串函数示例和场景介绍》MySQL提供了丰富的字符串函数帮助我们高效地对字符串进行处理、转换和分析,本文我将全面且深入地介绍MySQL常用的字符串函数,并结合具体示例和场景,帮你熟练... 目录一、字符串函数概述1.1 字符串函数的作用1.2 字符串函数分类二、字符串长度与统计函数2.1

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

使用IDEA部署Docker应用指南分享

《使用IDEA部署Docker应用指南分享》本文介绍了使用IDEA部署Docker应用的四步流程:创建Dockerfile、配置IDEADocker连接、设置运行调试环境、构建运行镜像,并强调需准备本... 目录一、创建 dockerfile 配置文件二、配置 IDEA 的 Docker 连接三、配置 Do

Python极速搭建局域网文件共享服务器完整指南

《Python极速搭建局域网文件共享服务器完整指南》在办公室或家庭局域网中快速共享文件时,许多人会选择第三方工具或云存储服务,但这些方案往往存在隐私泄露风险或需要复杂配置,下面我们就来看看如何使用Py... 目录一、android基础版:HTTP文件共享的魔法命令1. 一行代码启动HTTP服务器2. 关键参

Go语言编译环境设置教程

《Go语言编译环境设置教程》Go语言支持高并发(goroutine)、自动垃圾回收,编译为跨平台二进制文件,云原生兼容且社区活跃,开发便捷,内置测试与vet工具辅助检测错误,依赖模块化管理,提升开发效... 目录Go语言优势下载 Go  配置编译环境配置 GOPROXYIDE 设置(VS Code)一些基本

Java中使用 @Builder 注解的简单示例

《Java中使用@Builder注解的简单示例》@Builder简化构建但存在复杂性,需配合其他注解,导致可变性、抽象类型处理难题,链式编程非最佳实践,适合长期对象,避免与@Data混用,改用@G... 目录一、案例二、不足之处大多数同学使用 @Builder 无非就是为了链式编程,然而 @Builder

在IntelliJ IDEA中高效运行与调试Spring Boot项目的实战步骤

《在IntelliJIDEA中高效运行与调试SpringBoot项目的实战步骤》本章详解SpringBoot项目导入IntelliJIDEA的流程,教授运行与调试技巧,包括断点设置与变量查看,奠定... 目录引言:为良驹配上好鞍一、为何选择IntelliJ IDEA?二、实战:导入并运行你的第一个项目步骤1

MySQL 主从复制部署及验证(示例详解)

《MySQL主从复制部署及验证(示例详解)》本文介绍MySQL主从复制部署步骤及学校管理数据库创建脚本,包含表结构设计、示例数据插入和查询语句,用于验证主从同步功能,感兴趣的朋友一起看看吧... 目录mysql 主从复制部署指南部署步骤1.环境准备2. 主服务器配置3. 创建复制用户4. 获取主服务器状态5

Windows环境下解决Matplotlib中文字体显示问题的详细教程

《Windows环境下解决Matplotlib中文字体显示问题的详细教程》本文详细介绍了在Windows下解决Matplotlib中文显示问题的方法,包括安装字体、更新缓存、配置文件设置及编码調整,并... 目录引言问题分析解决方案详解1. 检查系统已安装字体2. 手动添加中文字体(以SimHei为例)步骤