eos 区块链 java 开发_EOS 交易验证的主要思路 - EOS 区块链开发实战
简介:接入EOS支付,发起交易很简单,接收交易也很简单,但交易验证,却是最常被低估以及忽略的部分。记得之前交易所遭到EOS假币攻击吗?就是交易验证的锅。然而就是这样一个和资金安全息息相关的部分,几乎找不到一篇专门讲的文章,遂作此文。
接入EOS支付,发起交易很简单,接收交易也很简单,但交易验证,却是最常被低估以及忽略的部分。记得之前交易所遭到EOS假币攻击吗?就是交易验证的锅。然而就是这样一个和资金安全息息相关的部分,几乎找不到一篇专门讲的文章,官方文档也无处可寻,遂作此文。
EOS交易验证,不是看某一个参数就可以的,需要验证这四个部分:
1.交易excuted;
2.不可逆,即交易所在区块号低于当前最新不可逆块号;
3.合约账户和货币符号,假币攻击就是因为交易所没验证合约账户;
4.From和to,即转入转出的账户需要再次确认。
Transaction同时满足这四个条件,才能判断为交易成功,并执行下一步程序。而且,如果是通过公共API或API服务商提供的数据进行交易验证,需要使用不同服务提供商的API至少进行二次确认,以防止API信息出错导致问题。
验证的技术实现:
1.交易excuted:验证transaction status参数为"executed";
2.不可逆:获得transaction所在区块的区块号以及主网最新不可逆块的区块号(不可逆区块高度),判断block_num
主网最新不可逆块的区块号可以通过RPC get_info等接口获得,也有一些获取transaction信息的接口返回时直接包含不可逆区块高度,比如EOSPark HTTPS API的get_account_related_trx_info.
官方RPC接口 get_info Node.js代码示例:
EOS RPC 接口获取主网基本信息
返回数据示例:
EOS RPC 接口获取主网基本信息返回数据示例
EOSPark HTTPS API的get_account_related_trx_info详情可以看之前这篇:https://www.jianshu.com/p/bb7dbe5d20e7
3.合约账户和货币符号:合约账户即action(act)中的account,货币符号可以从quantity中提取,也有些接口直接返回货币符号;
4.From和to:位于action(act)下data下。
Transaction结构示例,可以清楚看到status、block_num、action(act)中的account、action(act)下data下的quantity、from、to的位置:
EOS transaction结构示例
我们有一个区块链知识星球,做区块链前沿资料的归纳整理以方便大家检索查询使用,也是国内顶尖区块链技术社区,欢迎感兴趣的朋友加入。如果你对上面内容有疑问,也可以加入知识星球提问我:
eos 区块链 java 开发_EOS 交易验证的主要思路 - EOS 区块链开发实战相关推荐
- SSM基于区块链的物联网数据交易 计算机毕业设计源码46193
摘 要 物联网技术作为继互联网技术后新一代的通信信息集成应用的典范,其巨大的应用前景受到了学术界和政商界的广泛关注.物联网技术在一些传统行业已经有了很深入的应用,例如,其在商品生产信息溯源.环境监测 ...
- eos区块链 java客户端_分享一个网友第一次开发EOS区块链总结的经验
在处理项目时,用Java Connector for EOS区块链编写: 创建钱包 创建帐户 创建交易 创建签名交易 在帐户之间转移代币 我遇到了各种和运行本地EOS节点需要遵循的基本步骤.这个小指南 ...
- eos区块链 java客户端_在EOS区块链上使用EOSJS和scatter开发dApp
由于我一直在深入研究EOS dApp的开发,我看了不少好文章.在这里,我汇总了下做一些研究后得到的所有知识.在本文中,我将解释如何使用EOSJS和scatter.我假设你对智能合约以及如何在EOS区块 ...
- 基于Java语言构建区块链(四)—— 交易(UTXO)
基于Java语言构建区块链(四)-- 交易(UTXO) 2018年03月11日 00:48:01 wangwei_hz 阅读数:909 标签: 区块链比特币 更多 个人分类: 区块链 文章的主要思想和 ...
- 基于Java语言构建区块链(六)—— 交易(Merkle Tree)
基于Java语言构建区块链(六)-- 交易(Merkle Tree) 2018年04月16日 10:21:35 wangwei_hz 阅读数:480更多 个人分类: 区块链比特币bitcoin 最终内 ...
- 七、区块链如何运用merkle tree验证交易真实性
转载自:https://www.tangshuang.net/4117.html 本文假设你已经知道区块链中merkle tree的原理,现在搞明白具体怎么来实现交易真实性验证. Merkle Tre ...
- 区块链JAVA数字交易所官方商业版开发级全套三端纯源码
介绍: 区块链JAVA数字交易所官方商业版开发级全套三端纯源码 网盘下载地址: http://kekewangLuo.net/fsQqJmSy7st0 图片:
- layui如何获取父节点的父节点_区块链如何运用merkle tree验证交易真实性
大部分材料都会提到区块中保存了merkle根,并且利用它作交易真实性验证.但是具体如何作这个真实性验证,没有一篇文章可以通俗的讲出来.本文假设你已经知道区块链中merkle tree的原理,现在想搞明 ...
- 《如何开发区块链底层平台》-- 同济创业谷PPIO CodeTalks区块链技术分享会
摘要:2019年11月26日,同济创业谷与 PPIO CodeTalks 联合举办了<创新X - 区块链与创新创业>区块链技术分享会. 在本次分享会中,我们有幸邀请到了四位重量级嘉宾来做主 ...
最新文章
- javascript之namespace模式
- 用类模拟C风格的赋值+返回值
- git配置服务器版仓库
- python中函数重载和重写
- 音视频技术开发周刊 | 151
- draw graph using gnuplot
- python入门——P36类和对象:给大家介绍对象
- 程序员的遗憾:忽视数学必定后悔!
- 请详细描述LVS DR模式的原理
- 分布式事务解决方案之最大努力通知
- oracle mysql认证考试流程_oraclemysql认证的考试流程有哪些
- qq发送文件时显示服务器拒绝,qq给对方发文件为什么服务器拒绝接收 - 卡饭网...
- 解决ROS工作空间每次使用都要source的问题
- 个人永久性免费-Excel催化剂功能第98波-零代码零距离轻松接触并拥有金融大数据...
- HDU 3496 Watch The Movie(看电影)
- 华为硬件工程师手册_华为,英飞凌,中兴硬件工程师面试题
- 神经网络训练会释放60多万磅二氧化碳?MIT的方法让它降到1/1300
- QTextEdit设置可输入字符字节限制
- 团队建设:一个团队从无到有再到高效的管理方式
- 人体红外传感器简明教程