以太坊应用开发JSON-PRC接口
以太坊应用开发接口指的是以太坊节点软件提供的API接口,去中心化应用可以利用这个接口访问以太坊上的智能合约。以太坊应用开发接口采用JSON-PRC标准,通常是通过HTTP或websocket提供给应用程序调用。
JSON-RPC是一种无状态轻量级远程过程调用(RPC)协议,规范定义了数据结构及相应的处理规则,规范使用JSON(RFC 4627)数据格式,规范本身是传输无关的,可以用于进程内通信、socket套接字、HTTP 或各种消息通信环境。
以太坊应用开发接口的配置
不同节点软件的应用开发接口访问点可能有所区别。常见以太坊节点软件的的默认JSON-RPC端结点如下:
- Geth - http://localhost:8545
- Parity - http://localhost:8545
- Pytheapp - http://localhost:4000
以最常见的geth节点软件为例,可以使用–rpc选项启动其基于HTTP的JSON-RPC应用开发接口。
~$ geth --rpc
可以使用–rpcaddr和–rpcport选项修改默认的监听端口(8545)和监听地址(localhost):
~$ geth --rpc --rpcaddr <ip> --rpcport <portnumber>
如果需要从浏览器中访问RPC接口,需要正确设置CORS,否则由于同源策略的限制,javascript调用将失败:
~$ geth --rpc --rpccorsdomain "http://localhost:3000"
也可以在geth控制台使用admin.startRPC(addr,port)
命令来启动JSON RPC。
以太坊应用开发接口的调用
利用标准的HTTP协议就可以调用以太坊应用开发接口,例如在命令行可以使用curl工具:
~$ curl -X POST --data '{"jsonrpc":"2.0","method":"web3_clientVersion","params":[],"id":67}' http://127.0.0.1:8545
你可以点击这里查看以太坊应用开发接口中文手册。
以太坊应用开发接口的封装开发包
为便于在不同语言的代码中调用以太坊应用开发接口,以太坊社区涌现了不同语言的开发包,例如:
- javascript:Web3.js,教程:以太坊Dapp开发入门
- php:Web3.php, 教程:php以太坊开发详解
- python:Web3.py,教程:python以太坊开发详解
- java:Web3j,教程:Web3j以太坊开发详解
- c#:Nethereum,教程:c#以太坊开发详解
可以根据你的需要选择合适的开发包来调用以太坊应用开发接口,这样可以大大缩短对接以太坊节点的所需要的时间。
以太坊应用开发JSON-PRC接口相关推荐
- 以太坊Dapp开发通过truffle部署合约
以太坊Dapp开发通过truffle部署合约 Truffle是一个非常流行 DApp 开发框架,他可以帮我们处理掉大量无关紧要的小事情,让我们可以迅速开始写代码-编译-部署-测试-打包DApp这个流程 ...
- 以太坊DApp开发环境搭建
2019独角兽企业重金招聘Python工程师标准>>> 以太坊DApp开发环境搭建分为Ubuntu.Windows.mac下的搭建.目的为开发者提供一个以太坊开发.测试的搭建开发环境 ...
- 以太坊DApp开发入门教程——Node.js和truffle框架打造区块链投票系统
第一节 课程概述 本课程面向初学者,内容涵盖以太坊开发相关的基本概念,并将手把手地教大家如何构建一个 基于以太坊的完整去中心化应用 -- 区块链投票系统. 通过本课程的学习,你将掌握: 以太坊区块链的 ...
- 以太坊java开发指南_java以太坊开发库ethereumj
EthereumJ是以太坊协议的纯Java实现.有关以太坊及其目标的高级信息,请访问ethereum.org,其 白皮书 提供了一个完整的概念的概述,和 黄皮书 一起提供了协议的正式定义. 我们尽可能 ...
- 以太坊钱包开发系列4 - 发送Token(代币)
以太坊去中心化网页钱包开发系列,将从零开始开发出一个可以实际使用的钱包,本系列文章是理论与实战相结合,一共有四篇:创建钱包账号.账号Keystore文件导入导出.展示钱包信息及发起签名交易.发送Tok ...
- 以太坊钱包开发系列3 - 展示钱包信息及发起签名交易
最新内容会更新在主站深入浅出区块链社区 原文链接:使用 ethers.js 开发以太坊 Web 钱包 3 - 展示钱包信息及发起签名交易) 以太坊去中心化网页钱包开发系列,将从零开始开发出一个可以实际 ...
- 服务器端调用智能合约,《精通以太坊:开发智能合约和去中心化应用》 ——3.4 远程调用以太坊客户端...
远程调用以太坊客户端 远程调用以太坊的客户端是指相比全功能客户端,只提供了一部分功能的客户端.这些客户端通常不会保存完整的区块链数据,所以它们的启动速度更快,也不会消耗大量的磁盘空间. 远程调用以太坊 ...
- 以太坊本地开发环境搭建
本文所搭建的环境是在 Mac 上的开发环境,其他操作系统上与此非常相似,依然有参考价值. 作为一枚区块链开发工程师,本地的开发环境是必不可少的.我们首先看看需要哪些工具: go-ethereum so ...
- 以太坊ETH开发资源合集
本页为以太坊开发者提供入门指南.学习资源以及开发工具. ↳ 入门指南 如果想对以太坊有更加宏观的认识, 请浏览 ethereum.org/zh/learn. Getting up to speed o ...
最新文章
- 项目实战解决 java.sql.SQLException: Unable to load authentication plugin ‘caching_sha2_password‘.
- 大剑无锋之Redis面试题【推荐】
- python框架django的使用_Django框架的基本使用,若依框架
- 使用GlassFish 4.0测试驱动Java API以处理JSON
- ngrok服务器搭建_利用暴露在外的API,无法检测的Linux恶意软件将矛头指向Docker服务器...
- ElasticSearch filter查询
- 解决 吃货阶段02 0928
- centos6.5编译安装zabbix2.4及微信企业号告警
- Python中的枚举enumerate
- 搜索树判断 (25 分)(先序建立二叉树)
- 《OpenCV3编程入门》学习笔记九:直方图与匹配
- win10系统计算机物理地址,Win10电脑mac地址如何查看 win10系统查看mac地址的方法...
- C# 生成word文件 小学一年级口算题生成器(代码)
- hdu11601087
- java实现推荐算法实例_从技术角度分析推荐系统案例
- Mac终端如何切换成管理员
- Unity利用代码生成空心立方体(立方体挖走一个圆柱)
- switch监听android代码,Android switch当代码setCheck时,不调用onCheckedChanged
- NUKED数值表生成
- 软件测试,别海投简历