区块链开发之获取BTC,ETH的余额,BTC的UTXO列表,ETH的nonce
获取eth的余额
先来说说eth的余额获取,这个是很简单的,直接通过节点的rpc接口,就可以获取到,具体使用到的RPC接口为:eth_getBalance
参数:
1.要查询钱包地址
2.查询不同状态的余额”latest”(已经确认了的), “earliest”(创世区块的) , “pending”(包含未确认的交易的余额)
params: ['0xc94770007dda54cF92009BFF0dE90c06F603a09f','latest'
]
示例:
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBalance","params":["0xc94770007dda54cF92009BFF0dE90c06F603a09f", "latest"],"id":1}'// Result
{"id":1,"jsonrpc": "2.0","result": "0x0234c8a3397aab58" // 158972490234375000
}
获取BTC的余额 和 UTXO列表
直接使用btc节点的rpc服务是很难查出某个地址的余额的,因为btc的utxo机制,想通过rpc服务查余额,就只能先把地址导入节点,节点扫描整个区块,维护本地utxo列表,然后才能查询余额,这需要耗费一定的时间(20分钟以上),所以这个方式根本不适合查询余额。最终只能自己搭建一个btc的区块链浏览器,来解决这个问题(同时也解决了获取utxo列表和查询历史记录的问题)。使用的比较广的btc浏览器应该是insight-api,它的代码是开源的,并且提供接口,github地址:https://github.com/bitpay/insight-api
他提供的接口,足以满足你的需求
获取eth的nonce
估计有些人会有疑问,nonce是用来干啥的呢?其实他是eth用来防止双花的机制:
为了防止交易的重播攻击,每笔交易必须有一个nonce随机数,针对每一个账户nonce都是从0开始,当nonce为0的交易处理完之后,才会处理nonce为1的交易,并依次加1的交易才会被处理。以下是nonce使用的几条规则:
当nonce太小,交易会被直接拒绝。
当nonce太大,交易会一直处于队列之中;
当发送一个比较大的nonce值,然后补齐开始nonce到那个值之间的nonce,那么交易依旧可以被执行。
那如何获取这个nonce和防止交易失败呢,那就应该使用rpc接口获取,并且获取pending状态的值,具体rpc接口为:eth_getTransactionCount
参数:
1.要查询钱包地址
2.查询不同状态的余额”latest”(已经确认了的), “earliest”(创世区块的) , “pending”(包含未确认的交易的次数,推荐使用这个)
params: ['0xc94770007dda54cF92009BFF0dE90c06F603a09f','latest'
]
示例:
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionCount","params":["0xc94770007dda54cF92009BFF0dE90c06F603a09f","latest"],"id":1}'// Result
{"id":1,"jsonrpc": "2.0","result": "0x1" // 1
}
区块链开发之获取BTC,ETH的余额,BTC的UTXO列表,ETH的nonce相关推荐
- 区块链开发(五)区块链ICO:互联网进化的驱动力
区块链开发(五)区块链ICO:互联网进化的驱动力 李赫 2016年10月8日 由于区块链不可篡改的特性,在众多区块链组织和公司的共同努力下,互联网将逐步从中心化的信任进化到由算法.数据为核心的去中心化 ...
- 区块链开发之搭建以太坊私有链
(一)区块链开发之搭建以太坊私有链 本文链接:https://blog.csdn.net/rwdxll/article/details/82929417 1.安装ethereum/Go client( ...
- 区块链开发的权威指南
原文:https://medium.freecodecamp.org/the-authoritative-guide-to-blockchain-development-855ab65b58bc 新的 ...
- 【区块链实战】什么是DAPP,区块链开发如何进行技术选型
目录 一.简介 二.知识点 DAPP 公链 联盟链 区块链开发涉及的角色 Solidity 三.技术选型 1.DApp 架构分析 2.公链与联盟链 一.简介 区块链技术现在已经进入一个高速发展时期,作 ...
- 女子偷师男子学校,变身区块链开发工程师,却说: “这次女人不会再缺席了!”...
女神们,节日快乐 作者 | 佩奇 出品 | 区块链大本营(blockchain_camp) 你绝不会设计一个只对男人有吸引力的系统,因为只有男人才会使用它. 区块链也一样,它需要更多女性同胞的参与,听 ...
- 区块链开发教程 # 2 以太坊公链
科普向介绍请参考 tutorial.技术开发教程请参考本文.本系列文章更偏向技术入门.参考网上资料根据个人理解整理而成.本文主要参考廖雪峰博客. 前一篇文章地址:区块链开发教程 # 1 比特币公链 本 ...
- 【区块链开发入门】(三) Solidity合约编译、部署
目录导航页 [区块链开发入门](一) 以太坊的搭建与运行 [区块链开发入门](二) 以太坊的编程接口 [区块链开发入门](三) Solidity合约编译.部署 [区块链开发入门](四) Truffle ...
- 小学生玩转区块链开发,会成为代表中国未来的Builder吗?
2月6日晚上,一个12岁小学生突然在crypto圈火了. 在社群中流传的一幅图片上,一位自称是12岁的小学生正在网上教人们学习如何在以太坊上部署区块链. 根据小男孩在某站的视频(目前被删除),这名小男 ...
- 区块链开发初学者编程入门指南
我有很多问题需要了解区块链Blockchain的工作原理.重要的是"我如何在其上构建应用程序dapp?".花了几个星期的时间挖掘,阅读和试验才最终了解.我找不到简短而全面的指南.现 ...
最新文章
- Java知识点总结(JavaIO-合并流类)
- win10下pycharm安装opencv tensorflow anaconda
- 4.状态间的六种转换情况
- Could not clean server of obsolete files
- 扩展log4j系列[二]为DailyRollingFileAppender加上maxBackupIndex属性
- servlet3.0理解
- dyve/django-bootstrap-toolkit
- Java 连接sql server
- 冷高轮时间王思聪吃热狗电脑屏幕保护下载
- 这家自动驾驶公司,或将引领半封闭物流搬运领域的变革
- PolSARpro导入外部极化矩阵数据(以高分三号为例,附格式转化代码)
- win10显示计算机控制面板,win10控制面板,教您win10如何打开控制面板
- OSChina 周日乱弹 ——愿你在天堂也能写代码
- android垂直进度条控件,Android常用控件之ProgressBar,水平进度条
- 手把手教你U盘装Raid系统
- ybt1357 车厢调度
- C# dataGridView中插入excel表格
- ESP32 开发笔记(三)源码示例 8_DHT11_RMT 使用RMT实现读取DHT11温湿度传感器
- Visual Studio Code修改HTML Snippets插件中默认模板内容
- macos U盘引导安装
热门文章
- 大疆睿炽Tello EDU无人机python操控之三——使用easyGUI模拟操控界面控制Tello EDU
- 尤雨溪亲笔:重头来过的 Vue 3 带来了什么?
- Microsoft SQL Server 2005 Sp4补丁 中文版(x86、x64)
- 软件开发人员意向移民加拿大的可以点击
- 退休后的程序员,不会遇到太多经济困难?
- IntelRealSense 深度相机 测量物体的实际长度 —— rs-measure 官网文档翻译
- java中关于类描述错误的是什么,下面关于Java程序的描述中,错误的是()
- Centos操作系统vim升级到9.0版本
- H5 适配 iPhone X
- Vs错误:One of the identified items was in an invalid format.