导航:首页 > 以太坊区 > 以太坊浏览器api搭建

以太坊浏览器api搭建

发布时间:2023-07-11 03:56:51

『壹』 如何使用 Etherscan 的 API

虽然以太坊提供了 Web3 和 Json Rpc 这 2 种 API,geth 也额外提供了一些 API ,但是对于开发以太坊应用来说还是显得有些不足,比如说获取交易记录的时间,需要先通过交易的 hash 找到该交易对应的区块 id,然后才能找到对应的时间,查询起来相当不方便。

好在 Etherscan 对外提供了一些公共的 API,给我们提供了额外的能力来处理更多的业务场景。

为了方便开发人员更好地使用 ethersacn.io ,网站提供了 一系列 API 供开发人员使用。

API 的使用非常简单,基本上都是 get 方法,通过 http 请求就可以直接调用,在每个 Api 的说明文档都有对应的例子可以查看。

API 主要包含以下模块:账号、智能合约、交易、区块、事件日志、代币及工具等。

账号相关的 API,有获取账号金额,获取交易记录等,该模块提供的 API 最多。

API 示例

https://api.etherscan.io/api?mole)=account&action=balance&address=&tag=latest&apikey=YourApiKeyToken

参数说明

其中 mole、action、apikey 是每个 API 都有的参数,其他的参数则因不同 API 而不同。

返回结果

API 示例

https://api.etherscan.io/api?mole=account&action=balancemulti&address=,,&tag=latest&apikey=YourApiKeyToken

参数说明

(前面有讲过的参数就不讲了,下同)

与单个账号金额 API 相比,参数 address 用 , 号分隔多个账号,最多可支持 20 个账号的金额查询。

返回结果

API 示例

https://api.etherscan.io/api?mole=account&action=txlist&address=&startblock=0&endblock=99999999&page=1&offset=10&sort=asc&apikey=YourApiKeyToken

参数说明

返回结果

API 示例

https://api.etherscan.io/api?mole=account&action=txlistinternal&address=&startblock=0&endblock=2702578&page=1&offset=10&sort=asc&apikey=YourApiKeyToken

参数说明

参数与上一个 API 基本相同,只有 action 是 txlistinternal 这一点不同,这 2 种交易的区别是什么呢?简单的理解就是“正常”的交易是会记录到区块链上的,而“内部”交易是指不会记录到区块链上的记录,比如交易失败的记录。

另外这个 API 还可以通过交易 hash 查看交易的详情。

https://api.etherscan.io/api?mole=account&action=txlistinternal&txhash=&apikey=YourApiKeyToken

返回结果

API 示例

参数说明

返回结果

API 示例

参数说明

返回结果

智能合约相关的 API,其实只有一个获取智能合约接口的 API,但是这个 API 非常有用。

API 示例

参数说明

智能合约的 abi 就是一个 json 对象,通过这个对象我们可以调用其接口方法,后面会写一篇文章介绍如何操作 abi 对象,敬请期待。

返回结果

返回结果内容比较长,这里省略,就是一个 json 对象,感兴趣的可以自行调用该 API 看结果。

账号和智能合约的 API 已经能满足大部分的业务需求了,其他模块的 API 感觉没什么太大的作用,这里就不介绍了,感兴趣的读者可以自行查阅。

这里再说下 API 的使用限制,刚才提到每个 API 都有一个 apikey 参数,如果 API 没加上这个参数的话,每个 API 的请求次数不能超过 5 次每秒。

Etherscan 提供的这些 API 有些是和以太坊提供的 API 有重复的,比如说获取账号金额,获取事件日志记录等,但有一些 API 给我们带来了很大的便利性,比如获取账号交易记录,有了这个 API 就不用使用几个原生 API 进行各种数据拼接了。

另外 Etherscan 的这套 API 在 Rinkeby 测试网络也有一套一模一样的,区别只是前面的 url 不同,Rinkeby 的是: api-rinkeby.etherscan.io ,感兴趣的同学可以去试试。

『贰』 USDT_ERC20和ERC20代币转账提币API接口的调用流程

USDT_ERC20和ERC20的代币都可以按照这个教程来只是代币名字不一样:

ERC20的USDT,就是以太坊的代币。转账手续费低,速度快。

1、ERC20地址收到USDT后(ztPay平台会根据应用配置里面的通知地址进行通知),USDT转账时需要扣ETH作为手续费。ERC20地址收到USDT后是没有ETH的。那么就需要充值ETH。

2、在ztPay平台创建一个ETH地址,往里面冲入一定数量ETH作为手续费资金池。 这个可以在线接口处创建地址 或者自己调用接口创建地址。

3、等这个地址有了ETH,就可以调用ETH的转账接口,往收到USDT_ERC20的地址里面充值0.0035ETH以上作为手续费 。

因为USDT_ERC20转账是扣的当前这个转出地址里面的eth作为手续费。

4、总结:USDT_ERC20这个当前地址里面有usdt,也要有 0.0035以上的eth手续费。那么才可以调用转账接口,开始转账。

USDT_ERC20转账流程:

第一步:首先通过获取地址余额接口(name=usdt_erc20),查询USDT余额包括ETH手续费余额。

第二步:检测ETH手续费是否大于0.0035ETH,大于则即可调用接口转出USDT ,转账完毕。ETH以太坊网络gas limit和gas price设置

第三步:ETH手续费不足则 调用之前准备的ETH手续费资金池地址,往这个地址里面转入至少0.0035的ETH。完毕。等下次执行转账时即可转账成功。

做一个定时任务最好5以上分钟执行一次可以通过以太坊浏览器来查询相关金额:https://eth.tokenview.com/cn/ 或者 https://etherscan.io/

接口参考资料: ztPay数字货币接口文档

『叁』 以太坊架构是怎么样的

以太坊最上层的是DApp。它通过Web3.js和智能合约层进行交换。所有的智能合约都运行在EVM(以太坊虚拟机)上,并会用到RPC的调用。在EVM和RPC下面是以太坊的四大核心内容,包括:blockChain, 共识算法,挖矿以及网络层。除了DApp外,其他的所有部分都在以太坊的客户端里,目前最流行的以太坊客户端就是Geth(Go-Ethereum)

『肆』 搭建geth私有链和联盟链网络

操作系统:linux或Mac OS
安装geth执行以下命令:
linux:sudo apt-get install ethereum
Mac OS:brew install ethereum

直接创建两个geth的工作目录,用于之后的组建联盟链的使用:
mkdir eth-private1
mkdir eth-private2

首先 cd eth-private1 进入节点1的工作目录该目录下执行下面命令
geth --datadir data --nodiscover console (data是之后geth节点的数据目录,可自行修改)

使用geth自带的工具 puppeth 用于生成创世区块,过程如下:
puppeth
+-----------------------------------------------------------+
| Welcome to puppeth, your Ethereum private network manager |
| |
| This tool lets you create a new Ethereum network down to |
| the genesis block, bootnodes, miners and ethstats servers |
| without the hassle that it would normally entail. |
| |
| Puppeth uses SSH to dial in to remote servers, and builds |
| its network components out of Docker containers using the |
| docker-compose toolset. |
+-----------------------------------------------------------+

Please specify a network name to administer (no spaces, please)

输入私链名称后,会出现二级菜单,现在2:配置一个新的创世快
What would you like to do? (default = stats)

再次出现二级菜单,让你选择共识机制(这里采用poa共识)
Which consensus engine to use? (default = clique)

Ethash - proof-of-work(PoW) :工作量证明,通过算力达成共识 (以太坊就是使用这种方式)
Clique - proof-of-authority(PoA): 权威证明、通过预先设定的权威节点来负责达成共识 (不消耗算力,一般用于私有链测试开发)
如果选择Pow的共识方法,直接输入1,回车即可。
如果选择PoA的共识方法,输入2后会提示让你选择处快的间隔时间,一般测试开发使用可以设置相对的将处快时间设置较少5秒即可,然后会让你选择哪个账户来作为权威生成区块(至少有一个,输入刚才创建的账户,若只是单节点就输入那个节点目录生成的地址,若想组建联盟链就填写生成的两个地址)

How many seconds should blocks take? (default = 15)

选择好共识机制后会让你指定给那些账号初始化ether(至少有一个),输入我们刚才创建的账户地址回车即可。
Which accounts should be pre-funded? (advisable at least one)

选择输入私有链的网络ID,任意数字即可(不能为1,1是公链),也可以不输入会给定一个随机数作为私有链的网络ID
Specify your chain/network ID if you want an explicit one (default = random)

选择导出创世区块配置文件

选择导出创世区块配置文件的保存路径,可以保存到当前目录,直接按回车即可
Which file to save the genesis into? (default = my-private-chain.json)

INFO [02-09|14:56:33] Exported existing genesis block

这样就完成了创世区块文件的配置了,直接退出puppeth即可。

输入命令 geth --datadir data init private.json 其中data自己制定,private.json就是刚才生成的创世区块
若出现如图错误:

输入命令:
geth --datadir data --syncmode full --port 2001 --networkid 1234 --rpc --rpcport "8545" --rpccorsdomain "*" --rpcaddr "0.0.0.0" --rpcapi "db,eth,net,web3,personal,admin,clique" --nodiscover console 进入控制台
--datadir data:节点的数据目录
--syncmode full:块同步的方式(若只是单节点可不填)
--port 2001: 网卡监听端口
--networkid 1234:网络标识符
--rpc:开启rpc服务
--rpcport "8545":rpc服务的端口
--rpccorsdomain "*":允许跨域请求的域名列表(逗号分隔)(浏览器强制)
--rpcaddr "0.0.0.0" :HTTP-RPC服务器接口地址(默认值:“localhost”)
--rpcapi "db,eth,net,web3,personal,admin,clique":基于HTTP-RPC接口提供的API(私有链可以任意开发,公有链需要谨慎)
--nodiscover:不允许节点自动加入

若想搭建联盟链,必须保证创世区块一致,进入到刚才创建的eth-private2的目录
将之前生成的创世区块拷贝过来,初始化创世区块,然后使用启动命令启动分别启动两个节点,进入控制台,使用 admin.nodeInfo 命令获取节点的信息

总结:
两个服务器部署两个节点是可以联通的,但是只能使用两个节点对应的地址进行挖矿,所以只能是两个节点对应两个地址进行挖矿,使用poa共识,当一个节点挂掉,挖矿停止,因为poa共识挖矿必须超过50%的节点进行钱增,现在只是两个节点,挂掉一个节点挖矿就会停止等待另一个节点的确认,停掉的节点可以通过正常运作的节点信息重新连接到网络中。
问题:
同步块有可能报错情况:
1:Synchronisation failed "retrieved hash chain is invalid" 解决目前找到的方法是removedb 数据目录 ,重新init创世区块
2:内存溢出初步确认为开启rpc服务造成的,有可能服务器恶意被黑,暴力破解密码,占有内存,解决,将服务器的ip设置一条防火墙

若存在问题可给本人留言或访问本人的github: https://github.com/qi-shuo/geth-document 记录了一些本人搭建使用的命令

『伍』 区块链和智能合约,以太坊开发,183位开发者整理,知识体系汇总

在以太坊上开发应用程序的可用工具、组件、模式和平台的指南。

此列表的创建是由 ConsenSys 的产品经理推动的,他们认为需要在新的和有经验的区块链开发人员之间更好地共享工具、开发模式和组件。

开发智能合约

智能合约语言

构架

IDE

其他工具

测试区块链网络

测试以太水龙头

前端以太坊 API


后端以太坊 API

引导程序/开箱即用工具

以太坊 ABI(应用程序二进制接口)工具

以太坊客户端

贮存

Mahuta - 具有附加搜索功能的 IPFS 存储服务,以前称为 IPFS-Store

OrbitDB - IPFS 之上的去中心化数据库

JS IPFS API - IPFS HTTP API 的客户端库,用 JavaScript 实现

TEMPORAL - 易于使用的 API 到 IPFS 和其他分布式/去中心化存储协议

PINATA - 使用 IPFS 的最简单方法

消息传递

测试工具

安全工具

监控

其他杂项工具

Cheshire - CryptoKitties API 和智能合约的本地沙箱实现,可作为 Truffle Box 使用

ERCs-以太坊评论请求存储库

ERC-20 - 可替代资产的原始令牌合约

ERC-721 - 不可替代资产的令牌标准

ERC-777 - 可替代资产的改进令牌标准

ERC-918 - 可开采令牌标准

流行的智能合约库

可扩展性

支付/状态通道

等离子体

侧链

POA桥

POA 桥用户界面

POA 桥梁合同

ZK-SNARK

ZK-STARK

预构建的 UI 组件

以上内容,来自git库:

github.com/ConsenSys/ethereum-developer-tools-list

我是鱼歌,一个在深圳创业的全栈程序员,主攻区块链,元宇宙和智能合约,附加小程序和app开发。

[祈祷]

『陆』 如何将内容上链,把文字存储到以太坊

之前写过一篇文章:《如何用区块链表白?将信息永久写入区块链。》
https://www.jianshu.com/p/c3ca7c93dae3

教程基本比较清楚了,还不懂怎么操作的,先看上面这个链接再回来。

实际使用过程中,上面教程可能还遇到有一点问题。因为教程里的内容是英文,英文的内容上链一点问题都没有。

而这次我录入中文,在以太坊浏览器上,view input as UTF8 时,出现乱码。

看这个示范链接,中文部分全部乱码了:

https://etherscan.io/tx/

原因?

我一开始用的是网上找的 十六进制与文本间的转换工具。

https://www.bejson.com/convert/ox2str/

用这个不行了!

中文要不出现乱码,要用 UTF8 与 Hex 转换工具。

网上搜下,比如这个:

https://www.browserling.com/tools/utf8-to-hex

输入你要的文字内容,转换成 Hex.

然后复制到word里,用替换功能,将所有的 x 字符去掉。

看,成功的结果是这样的。

https://etherscan.io/tx/

『柒』 以太坊是什么

以太坊(英语:Ethereum)是一个开源的有智能合约功能的公共区块链平台。通过其专用加密货币以太币(Ether,又称“以太币”)提供去中心化的虚拟机(称为“以太虚拟机”EthereumVirtualMachine)来处理点对点合约。

坊区块链上的代币称为以太币(Ether),代码为ETH,可在许多加密货币的外汇市场上交易,它也是以太坊上用来支付交易手续费和运算服务的媒介。

以太坊的概念首次在2013至2014年间由程序员VitalikButerin,受比特币启发后提出,大意为“下一代加密货币与去中心化应用平台”,在2014年通过ICO众筹得以开始发展。截至2018年2月,以太币是市值第二高的加密货币,仅次于比特币。

(7)以太坊浏览器api搭建扩展阅读:

以太坊平台本身没有特点,没有价值性。和编程语言相似,它由企业家和开发者决定其用途。不过很明显,某些应用类型较之其他更能从以太坊的功能中获益。以太坊尤其适合那些在点与点之间自动进行直接交互或者跨网络促进小组协调活动的应用。

例如,协调点对点市场的应用,或是复杂财务合同的自动化。比特币使个体能够不借助金融机构、银行或政府等其他中介来进行货币交换。以太坊的影响可能更为深远。

理论上,任何复杂的金融活动或交易都能在以太坊上用编码自动且可靠地进行。除金融类应用外,任何对信任、安全和持久性要求较高的应用场景——比如资产注册、投票、管理和物联网——都会大规模地受到以太坊平台影响。

『捌』 oklink浏览器怎么下载

在网页中找到官方网站进行下载。
许多浏览器都可以在官方网站下载,oklink浏览器也一样。
OKLink区块链浏览器(http://oklink.com)是由全球首家区块链大数据上市公司打造的信息服务应用,旨在呈现快速、精准、全面的链上数据。目前已支持BTC、LTC、BCH、BSV、USDT五个主流币种,以及OKChain(测试版)的链上数据查询与检索。OKLink以太坊浏览器除了提供交易信息查询,还增加了矿池排名等专业数据版块,详细展示了各个矿池在各个时间段的爆块占比,添加了实时/预估矿池排名。实时矿池排名按照实时算力展示,预估矿池排名则以实际出块量为排列标准。OKLink以太坊浏览器在完善基础数据展示之外,还将结合交易分析和区块链浏览器的基本功能,添加更多专业的统计数据,为企业级用户开放专业API接口,提供更全面、更专业的数据服务。

『玖』 Infura API 获取以太坊当前配置链 ID - 区块链数据开发实战

简介:Infura 是以太坊和 IPFS 的 API 服务提供商。Infura 一开始只是为 ConsenSys 内部项目提供稳定可靠的 RPC 访问,后来随着以太坊生态发展,他们意识到自己可以起到更大作用,于是开始面向开发者提供公共 API 服务。本文整理使用 Infura API 获取以太坊当前配置链 ID 的实现。

Infura 是以太坊和 IPFS 的 API 服务提供商。Infura 一开始只是为 ConsenSys 内部项目提供稳定可靠的 RPC 访问,后来随着以太坊生态发展,他们意识到自己可以起到更大作用,于是开始面向开发者提供公共 API 服务。

本文整理使用 Infura API 获取以太坊当前配置链 ID 的实现。

Infura API 官方文档: https://infura.io/docs

使用 API 需要申请 Project ID ,ID 是免费申请的,申请流程为“注册 - 登录 - 创建新项目”,不需要审核,几分钟就能搞定。

Infura API 标准请求端口格式:

本例中我们使用基于 HTTP 的以太坊主网 JSON-RPC 端口:

Infura API 获取以太坊当前配置链 ID:

Curl 示例:

Node.js 示例:

返回的 JSON 示例:

返回当前链 ID 的大整数。

Infura API 服务思维导图:

我们有一个区块链知识星球,做区块链前沿资料的归纳整理以方便大家检索查询使用,也是国内顶尖区块链技术社区,欢迎感兴趣的朋友加入。如果你对上面内容有疑问,也可以加入知识星球提问我:

阅读全文

与以太坊浏览器api搭建相关的资料

热点内容
组织发行虚拟货币 浏览:178
矿池首页 浏览:993
鼓励区块链创新 浏览:605
虚拟货币挂单怎么老是成交不了 浏览:116
区块链应用的音乐平台 浏览:952
柱轴力设计值n怎么算 浏览:296
男朋友力气大算男友力吗 浏览:326
诺华世界区块链 浏览:697
中国最专业比特币交易 浏览:512
数字货币适合长期投资吗 浏览:821
勒索病毒背后的比特币暗网疑云 浏览:984
比特币套取电费 浏览:720
北邮区块链实验室马 浏览:923
银行虚拟货币交易排查报告 浏览:705
数字货币与经济法 浏览:789
网络上炒虚拟货币 浏览:106
数字货币而何赚钱 浏览:836
显卡的算力和cpu 浏览:641
比特币介绍摘要 浏览:235
btm显卡8btccom 浏览:68