开发者社区> 马拉喀什> 正文

php如何调用以太坊JSON-RPC接口创建钱包?

简介: 首先下载安装geth,下载地址如下: http://ethfans.org/wikis/Wallet-Mirror 安装后会在安装目录生成一个geth.exe,需要使用命令行工具来运行它。
+关注继续查看

首先下载安装geth,下载地址如下:

http://ethfans.org/wikis/Wallet-Mirror

安装后会在安装目录生成一个geth.exe,需要使用命令行工具来运行它。

初始化

geth --datadir "chain" init piccgenesis.json

piccgenesis.json文件:

{
  "config": {
        "chainId": 33,
        "homesteadBlock": 0,
        "eip155Block": 0,
        "eip158Block": 0
    },
    "coinbase" : "0x0000000000000000000000000000000000000000",
    "difficulty" : "0x4",
    "extraData" : "",
    "gasLimit" : "0xffffffff",
    "nonce" : "0x0000000000000042",
    "mixhash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
    "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
    "timestamp" : "0x00",
    "alloc": { }
}
}

设置json-rpc

设置rpc并开启rpc接口,rpc地址为127.0.0.1:8534:

geth --rpc --rpccorsdomain * --datadir ./mychain -rpcport 8534 --port 30308 --identity test --networkid 111111111 --rpcaddr 0.0.0.0 --rpcapi admin,miner,db,eth,net,web3,personal --nodiscover console

注:这里用的是测试网络,不需要同步所有区块,如果要正式应用需要一台linux服务器,开启主网同步所有区块,在打开并设置rpc。

php 调用json-rpc

geth安装完成,rpc接口开启,下面就该用php调用geth的rpc方法了

也可以参考以下几个链接:

https://github.com/ethereum/wiki/wiki/JSON-RPC
https://github.com/paritytech/parity/wiki/JSONRPC-personal-module

go-ethereum APIs:

https://github.com/ethereum/go-ethereum/wiki/Management-APIs#personal
http://www.cocoachina.com/blockchain/20180125/22019.html

PHP本文用的Thinkphp中的jsonrpc类:

public function index(){
vendor('jsonRPC.jsonRPCClient');
$client = new \jsonRPCClient('http://localhost:8534');
dump($client->personal_newAccount("111111"));
}

一个钱包就创建好了,111111是密码,是personal_newAccount这个方法的参数,还有其它rpc方法参考上面的连接。

原文《以太坊常见问题和错误》中的:
http://cw.hubwiz.com/card/c/ethereum-FAQ/1/1/18/

另外推荐几个很受欢迎全网稀缺的互动教程:

  • php以太坊,主要是介绍使用php进行智能合约开发交互,进行账号创建、交易、转账、代币开发以及过滤器和事件等内容。
  • python以太坊,主要是针对python围绕web3.py进行区块链以太坊应用开发的讲解。
  • web3j,主要是针对java和android程序员围绕web3j库进行区块链以太坊开发的讲解。
  • 以太坊开发,主要是介绍使用node.js、mongodb、区块链、ipfs实现去中心化电商DApp实战,适合进阶。
  • 以太坊教程,主要介绍智能合约与dapp应用开发,适合入门。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
【剖析 | SOFARPC 框架】系列之 SOFARPC 泛化调用实现剖析
我们知道,在 RPC 调用中,客户端需要加载服务端提供的接口定义类,但是,很多情况下,这个并不总是可行的,于是,衍生了泛化调用的需求,一个成熟的,功能完善的 RPC 框架一般都会支持泛化调用,那么什么是泛化调用呢?SOFA RPC 又是如何支持泛化调用的?同时又是如何实现的? 和其他的 RPC 泛化调用又有何不同?有何优势?我们将在本文一一解答这些问题。
1963 0
【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 远程调用 目标进程中 libc.so 动态库中的 mmap 函数 二 | 准备参数 | 远程调用 mmap 函数 )
【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 远程调用 目标进程中 libc.so 动态库中的 mmap 函数 二 | 准备参数 | 远程调用 mmap 函数 )
17 0
【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 远程调用 目标进程中 libc.so 动态库中的 mmap 函数 二 | 准备参数 | 远程调用 mmap 函数 )
【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 远程调用 目标进程中 libc.so 动态库中的 mmap 函数 二 | 准备参数 | 远程调用 mmap 函数 )
26 0
PHP开发API接口注意事项
1、单文件实现多接口的形式有很多种,例如:if..elseif.. 或 switch 或 动态方法 (也就是TP的这种访问函数体的形式) 2、对于数据的输出最好用json,json具有相当强大的跨平台性,市场上各大主流编程语言都支持json解析,json正在逐步取代xml,成为网络数据的通用格式 阿里云代金券1000元免费领取地址:https://promotion.
1231 0
创建SinaSAE云账号创建和发布基于SVN代码管理的PHP空工程
1、使用Sina微博账号登录,进入【新浪云控制台】 2、选择【云应用SAE】界面,选择【创建新应用】 3、点击【继续创建】,进入应用信息编辑界面     依次编辑“二级域名”“应用程序名”,再点【运行环境】中的【PHP空应用】,再点左下角的【创建应用】完成应用创建。
883 0
使用 iosOverlay.js 创建 iOS 风格的提示和通知
  iosOverlay.js 用于在 Web 项目中实现 iOS 风格的通知和提示效果。为了防止图标加载的时候闪烁,你需要预加载的图像资源。不兼容 CSS 动画的浏览器需要 jQuery 支持。浏览器兼容:IE7+, Google Chrome, Firefox, Opera, Desktop Safari, Mobile Safari — iPhone & iPad。
765 0
创建卡券模板接口(alipay.pass.template.add)JAVA版本小样
官方接口文档:https://docs.open.alipay.com/199/105250/  基本操作流程  1.创建应用等流程不概述了,调用该接口主要第一步是模板设计:推荐使用卡券平(https://alipassprod.
561 0
创建、修改门店接口常见错误返回
1、Q:创建店铺场景下营业执照主体信息不一致        A:营业执照的名称和支付宝实名认证名称不一样,确保一致,需要上传授权涵。  2、Q:支付接口如果store_id和alipay_store_id都传了,支付宝会验证这两个参数的合法性吗?        A:均会进行检测两者是否匹配。
466 0
+关注
马拉喀什
一个还在路上的码农。
163
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载