以太坊应用开发接口指的是以太坊节点软件提供的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接口相关推荐

  1. 以太坊Dapp开发通过truffle部署合约

    以太坊Dapp开发通过truffle部署合约 Truffle是一个非常流行 DApp 开发框架,他可以帮我们处理掉大量无关紧要的小事情,让我们可以迅速开始写代码-编译-部署-测试-打包DApp这个流程 ...

  2. 以太坊DApp开发环境搭建

    2019独角兽企业重金招聘Python工程师标准>>> 以太坊DApp开发环境搭建分为Ubuntu.Windows.mac下的搭建.目的为开发者提供一个以太坊开发.测试的搭建开发环境 ...

  3. 以太坊DApp开发入门教程——Node.js和truffle框架打造区块链投票系统

    第一节 课程概述 本课程面向初学者,内容涵盖以太坊开发相关的基本概念,并将手把手地教大家如何构建一个 基于以太坊的完整去中心化应用 -- 区块链投票系统. 通过本课程的学习,你将掌握: 以太坊区块链的 ...

  4. 以太坊java开发指南_java以太坊开发库ethereumj

    EthereumJ是以太坊协议的纯Java实现.有关以太坊及其目标的高级信息,请访问ethereum.org,其 白皮书 提供了一个完整的概念的概述,和 黄皮书 一起提供了协议的正式定义. 我们尽可能 ...

  5. 以太坊钱包开发系列4 - 发送Token(代币)

    以太坊去中心化网页钱包开发系列,将从零开始开发出一个可以实际使用的钱包,本系列文章是理论与实战相结合,一共有四篇:创建钱包账号.账号Keystore文件导入导出.展示钱包信息及发起签名交易.发送Tok ...

  6. 以太坊钱包开发系列3 - 展示钱包信息及发起签名交易

    最新内容会更新在主站深入浅出区块链社区 原文链接:使用 ethers.js 开发以太坊 Web 钱包 3 - 展示钱包信息及发起签名交易) 以太坊去中心化网页钱包开发系列,将从零开始开发出一个可以实际 ...

  7. 服务器端调用智能合约,《精通以太坊:开发智能合约和去中心化应用》 ——3.4 远程调用以太坊客户端...

    远程调用以太坊客户端 远程调用以太坊的客户端是指相比全功能客户端,只提供了一部分功能的客户端.这些客户端通常不会保存完整的区块链数据,所以它们的启动速度更快,也不会消耗大量的磁盘空间. 远程调用以太坊 ...

  8. 以太坊本地开发环境搭建

    本文所搭建的环境是在 Mac 上的开发环境,其他操作系统上与此非常相似,依然有参考价值. 作为一枚区块链开发工程师,本地的开发环境是必不可少的.我们首先看看需要哪些工具: go-ethereum so ...

  9. 以太坊ETH开发资源合集

    本页为以太坊开发者提供入门指南.学习资源以及开发工具. ↳ 入门指南 如果想对以太坊有更加宏观的认识, 请浏览 ethereum.org/zh/learn. Getting up to speed o ...

最新文章

  1. 项目实战解决 java.sql.SQLException: Unable to load authentication plugin ‘caching_sha2_password‘.
  2. 大剑无锋之Redis面试题【推荐】
  3. python框架django的使用_Django框架的基本使用,若依框架
  4. 使用GlassFish 4.0测试驱动Java API以处理JSON
  5. ngrok服务器搭建_利用暴露在外的API,无法检测的Linux恶意软件将矛头指向Docker服务器...
  6. ElasticSearch filter查询
  7. 解决 吃货阶段02 0928
  8. centos6.5编译安装zabbix2.4及微信企业号告警
  9. Python中的枚举enumerate
  10. 搜索树判断 (25 分)(先序建立二叉树)
  11. 《OpenCV3编程入门》学习笔记九:直方图与匹配
  12. win10系统计算机物理地址,Win10电脑mac地址如何查看 win10系统查看mac地址的方法...
  13. C# 生成word文件 小学一年级口算题生成器(代码)
  14. hdu11601087
  15. java实现推荐算法实例_从技术角度分析推荐系统案例
  16. Mac终端如何切换成管理员
  17. Unity利用代码生成空心立方体(立方体挖走一个圆柱)
  18. switch监听android代码,Android switch当代码setCheck时,不调用onCheckedChanged
  19. NUKED数值表生成
  20. 软件测试,别海投简历

热门文章

  1. poi 滚动条移动到最左侧
  2. java的locate用法,locate: command not found
  3. 有关需求和用例的资源
  4. python递归函数1到n求和_python代码之阶乘求和的方法
  5. EVDO/GSM+WCDMA和WCDMA有什么区别分别是做什么
  6. 前端如何上传图片到七牛云
  7. 实验三 熟悉Dataframe和Series数据结构
  8. 新手抖音涨粉变现是怎么做的?
  9. 正文1:网页的交互方式
  10. “只有抄袭是真的”——转载《南方周末》7月23日