区块链开源项目Ripple三、交易的完整生命周期

2024-06-06 18:38

本文主要是介绍区块链开源项目Ripple三、交易的完整生命周期,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

修改区块链的唯一方法是提交交易,待交易通过共识后即可写入区块链,同时修改区块,下面对整个交易的生命周期做详细说明。

rippled底层提供了交易提交的API(详细请参考https://ripple.com/build/rippleapi):submit 后面跟交易的已签名BLOB,签名可以掉调用rippled的RPC命令Sign,也可直接用submit 后面跟私钥。不过这种方式一般只在笔者做内部测试用,正式给客户使用时绝不可把私钥提交到服务器上,这样违背了“去中心化”的初衷,在笔者的实际开发中,一般用Ripple-lib从当调用的中间层,通过ws与底层通讯,下面以调用RIpple-LIb脚本调用为例,先介绍二个API

  1.preparePayment(address, payment,option)

  2.sign(prepared.txJSON, secret);

第一个对交易payment校验,填上必须的字段,如费用,区块序号和账户序号等。

第二个对用私钥对交易签名。返回值就可以用submit提交。

有几个注意的地方:

1.区块序号和账户序号

LastLedgerSequence:上一个区块的序号,若干个区块构成区块链,每一个区块对应一个递增的序号。

  Sequence:账户序号 区块链上有若干账号,每一个账号的交易序号都是从1开始递增。

2.共识达成的最大区块序号

ripple-lib脚本发送交易时,preparePayment可以有三个参数,第一个参数:公钥 第二个参数,交易JSON,第三个字段,限制选项。限制选项中有个maxLedgerVersion,这个意为达成共识的最大区块序列号,如果在这个区块上还没有达成的话,那么交易失效。

提交到本地后,本地先验证交易的合法性,比如必须字段是否已经填写(参看交易的必须字段参考在src\ripple\protocol\impl\TxFormats.cpp)

,这几步对应文件src\ripple\app\tx\impl\Payment.cpp,判断结构非常清晰,123步骤逐渐深入).

本地验证通过后,启动一个工作者线程advanceThread(对应文件src\ripple\app\ledger\impl\LedgerMaster.cpp),里面调用doAdvance,这个函数以后介绍同步还会详细说明,对于本地验证通过后的交易,发布到网络上参与共识。

共识通过后,各节点取得这个区块,写到本地数据库中。

自此,一个交易的完整生命周期结束。


这篇关于区块链开源项目Ripple三、交易的完整生命周期的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

【区块链 + 人才服务】可信教育区块链治理系统 | FISCO BCOS应用案例

伴随着区块链技术的不断完善,其在教育信息化中的应用也在持续发展。利用区块链数据共识、不可篡改的特性, 将与教育相关的数据要素在区块链上进行存证确权,在确保数据可信的前提下,促进教育的公平、透明、开放,为教育教学质量提升赋能,实现教育数据的安全共享、高等教育体系的智慧治理。 可信教育区块链治理系统的顶层治理架构由教育部、高校、企业、学生等多方角色共同参与建设、维护,支撑教育资源共享、教学质量评估、

在cscode中通过maven创建java项目

在cscode中创建java项目 可以通过博客完成maven的导入 建立maven项目 使用快捷键 Ctrl + Shift + P 建立一个 Maven 项目 1 Ctrl + Shift + P 打开输入框2 输入 "> java create"3 选择 maven4 选择 No Archetype5 输入 域名6 输入项目名称7 建立一个文件目录存放项目,文件名一般为项目名8 确定

金融业开源技术 术语

金融业开源技术  术语 1  范围 本文件界定了金融业开源技术的常用术语。 本文件适用于金融业中涉及开源技术的相关标准及规范性文件制定和信息沟通等活动。

安全管理体系化的智慧油站开源了。

AI视频监控平台简介 AI视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,从而大大减少企业级应用约95%的开发成本。用户只需在界面上进行简单的操作,就可以实现全视频的接入及布控。摄像头管理模块用于多种终端设备、智能设备的接入及管理。平台支持包括摄像头等终端感知设备接入,为整个平台提

【区块链 + 人才服务】区块链集成开发平台 | FISCO BCOS应用案例

随着区块链技术的快速发展,越来越多的企业开始将其应用于实际业务中。然而,区块链技术的专业性使得其集成开发成为一项挑战。针对此,广东中创智慧科技有限公司基于国产开源联盟链 FISCO BCOS 推出了区块链集成开发平台。该平台基于区块链技术,提供一套全面的区块链开发工具和开发环境,支持开发者快速开发和部署区块链应用。此外,该平台还可以提供一套全面的区块链开发教程和文档,帮助开发者快速上手区块链开发。

Vue3项目开发——新闻发布管理系统(六)

文章目录 八、首页设计开发1、页面设计2、登录访问拦截实现3、用户基本信息显示①封装用户基本信息获取接口②用户基本信息存储③用户基本信息调用④用户基本信息动态渲染 4、退出功能实现①注册点击事件②添加退出功能③数据清理 5、代码下载 八、首页设计开发 登录成功后,系统就进入了首页。接下来,也就进行首页的开发了。 1、页面设计 系统页面主要分为三部分,左侧为系统的菜单栏,右侧