2019独角兽企业重金招聘Python工程师标准>>>

我在安装了Geth节点的ubuntu服务器X上创建了一个shell脚本,在测试链中插入智能合约数据。此外,我通过使用Shell脚本命令在同一服务器X上创建一个PHP文件insertscript.php。当我从命令提示符调用PHP脚本时,它会成功执行,并且数据被插入到区块链中。但是当我用CURL调用另一个服务器的PHP脚本或在浏览器中打开它时,我会看到错误:

Fatal: Unable to attach to remote geth: dial unix ///home/ubuntu/.ethereum/testnet/geth.ipc: connect: permission denied

我的shell脚本如下:

#!/bin/sh
ATTACHPARAMETER="ipc:///home/ubuntu/.ethereum/testnet/geth.ipc"
INCIDENTUUID=${1:-"photo-55697b7f4a550511448499999999"}
USERUUID=${2:-"null"}
TIMESTAMP=$3
STATUS=$4echo $INCIDENTUUID
echo $USERUUID
echo $TIMESTAMP
echo $STATUSgeth attach $ATTACHPARAMETER << EOFvar abi = [abi definition];
var address = "addressofContract";
var mycontract = web3.eth.contract(abi).at(address);
eth.defaultAddress = eth.accounts[0];
personal.unlockAccount(eth.accounts[0],'test');mycontract.createIncident('$INCIDENTUUID','$USERUUID',$TIMESTAMP,$STATUS,{from:eth.accounts[0],gas:1400000});
console.log("Inserted");EOF

问题解答

这是因为你的Geth二进制文件在一个用户标识下运行,但是WebServer运行在另一个用户标识下。

你必须让geth.ipc文件可以读写到你的Web服务器上,无论是通过组访问还是在两个进程(WebServer和Geth)上使用相同的user_id。

此外,请注意,不能通过2个计算机之间的IPC(进程间通信)共享Geth访问,IPC仅在单个计算机内工作,因为它是数据共享的内核级实现。

如果想系统的学习php开发以太坊的话推荐一个很受欢迎的在线互动教程: php以太坊,主要是介绍使用php进行智能合约开发交互,进行账号创建、交易、转账、代币开发以及过滤器和事件等内容。

转载于:https://my.oschina.net/u/3837977/blog/1859199

php开发以太坊无法连接到远程Geth,connect: permission denied.相关推荐

  1. 以太坊去中心化_开发以太坊去中心化投票应用程序的指南

    以太坊去中心化 by Timothy Ko 蒂莫西·高(Timothy Ko) 开发以太坊去中心化投票应用程序的指南 (A guide to developing an Ethereum decent ...

  2. python字符串类库_Python开发以太坊的类库Web3.py V4的新功能

    Web3.py第4版的第一个测试版于2017年11月中旬发布,此后又发布了5个版本,目前已经稳定发布到4.6.主要版本变化意味着一些向后兼容的更改,以及这些更改启用的一些全新功能.感兴趣的话请继续阅读 ...

  3. java和以太坊交互_java类库web3j开发以太坊智能合约快速入门

    web3j简介 web3j是一个轻量级.高度模块化.响应式.类型安全的Java和Android类库提供丰富API,用于处理以太坊智能合约及与以太坊网络上的客户端(节点)进行集成. 可以通过它进行以太坊 ...

  4. java开发以太坊---不搭节点开发

    java开发以太坊---不搭节点开发 readme 直接上代码 readme 以太坊区块链浏览器有提供官方api 已经满足了基本开发需求 api连接 优点: 可以不用搭建节点,节省内存,无须担心节点挂 ...

  5. JAVA使用web3j开发以太坊实战案例

    JAVA使用web3j开发以太坊实战案例 必读 1.前言 2.基础(必看) 3.web3j引入 4.创建账户(离线创建) 5.geth节点搭建.基本使用及一般问题 6.常量类 后面内容都要用到(必备! ...

  6. 用Visual Studio开发以太坊智能合约

    2019独角兽企业重金招聘Python工程师标准>>> 区块链和以太坊 自从我熟悉区块链.以太坊和智能合约以来,一直失眠. 我一直在阅读,阅读和阅读,最后我能够使用一些工具,他们建议 ...

  7. solidity开发以太坊代币智能合约

    智能合约开发是以太坊编程的核心之一,而代币是区块链应用的关键环节,下面我们来用solidity语言开发一个代币合约的实例,希望对大家有帮助. 以太坊的应用被称为去中心化应用(DApp),DApp的开发 ...

  8. java 以太坊 智能合约_web3j教程:java使用web3j开发以太坊智能合约交易

    从广义上讲,有web3j支持三种类型的以太坊交易: 1.以太币从一方交易到另一方 2.创建一个智能合约 3.与智能合约交易 为了进行这些交易,必须有以太币(以太坊区块链的代币)存在于交易发生的以太坊账 ...

  9. 使用web3和infura开发以太坊ethereum区块链

    web3 Github: https://github.com/ethereum/web3.js/ web3.js是以太坊提供的一个Javascript库,它封装了以太坊的RPC通信API,提供了一系 ...

最新文章

  1. stm32cubeide烧写程序_stm32mp157 Cortex M4开发篇:stm32CubeIDE开发环境搭建
  2. 不是计算机专业学python能找到工作吗-python学习难不难?非计算机专业也能学吗?...
  3. TRIZ系列-创新原理-23-反馈原理
  4. 下列数据类型中python不支持的是_ 下列选项中 ,Python 不支持的数据类型有 ( ) 。_学小易找答案...
  5. 【Linux】一步一步学Linux——shopt命令(214)
  6. python三大结构、顺序结构_Python学习笔记3——三大结构:顺序,分支,循环3
  7. PS特效:图像碎片化
  8. java 阻塞队列介绍
  9. adult Income 一个人的年收入是由各种因素造成的。直观上,它受个人的教育水平、年龄、性别、职业等因素的影响。
  10. Mycat跨库join实现方式总结
  11. linux 权限 代码,linux 管理权限(示例代码)
  12. 机器人端的图形界面ssh远程显示方案
  13. C++大写字母转小写字母
  14. Janitor/Application Guarder
  15. 【软件工程】软工视频总结
  16. 玩客云刷Armbian详细教程
  17. 前端-css盒模型与浮动 QIan 锋 逆 战 班
  18. 视频播放 (二) 自定义 MediaPlayer
  19. ITK-SANP 使用指南
  20. unit 5 句子的要素及种类

热门文章

  1. 微软Windows Server 2008之二计算机名称
  2. Mapreuduce实现网络数据包的清洗工作
  3. P03: 多重背包问题
  4. JavaScript Table排序
  5. c++ sort 从大到小排序_C语言必学的12个排序算法:冒泡排序(第4篇)
  6. Prometheus — 核心概念
  7. JavaScript算法题:查找数字在数组中的索引
  8. mysql基于传统的log_file及log_pos主从复制
  9. 设置CodeRush Xpress的线条颜色
  10. Android逆向之路---脱壳360加固