问题标签 [web3]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
security - Is it secure to run public ethereum node?
I'm creating my first Ethereum contract with truffle. I want the web application to be usable without MetaMask so I was wondering if it is a good idea to run my own private node and to connect from the frontend like this:
Are there any security risks with this approach ?
ethereum - web3.js 1.0 和 Solidity 之间的数据不匹配
我对 Ethereum/Solidity/Web3.js 很陌生。我正在尝试使用 web3.js web.eth.sendsendTransaction() 方法来在私有链上的已部署合约中运行一个函数。
我尝试执行的功能是:
我从运行以下 JavaScript 代码的 Mist 浏览器中调用 multiplica:
如果我设置 firstNumber=1000 和 secondNumber=2000 那么 abiByteCodes 恰好是:
0x38e836df00000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000000000
0x38e836df是函数签名的sha,正确;
03e8 是 1000(firstNumber) 的十六进制数
07d0 是 2000(secondNumber) 的十六进制数
但是存储在区块链中的数据是:
datosmensaje:0x38e836df00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,0000 9E0 7D0 7D0 7D0 7D0 7D0 7D0 7D0
因素A:8520680(0x8203E8)
因子B:8521680(0x8207D0)
我究竟做错了什么?
我在 Windows 10 64 位桌面上使用 geth 1.7.3 和 Mist 0.9.2。
谢谢
PS 我知道还有其他方法可以调用合约函数,例如通过 new web3.eth.Contract(contractABI,contractAddress) 实例化合约,但我正在考虑一个需要使用 sendTransaction() 方法的项目
java - Web3j 无法从 docker 容器连接
我在 docker 容器中有一个 java 应用程序。它尝试使用 web bean 连接到我的私有区块链。还有一些问题:无法确定节点的同步状态
我以为端口无法访问,但它对所有人开放。
如果我不在 docker 容器中执行我的 jar 文件 - 一切正常,它可以工作。
有任何想法吗 ?
solidity - 转让所有权 web3
我正在创建一个 dapp 以使用 testrpc 将合同的所有权从一个地址转移到另一个地址。但是,我一直遇到这个问题。我尝试使用 sentransaction 方法来执行此所有权更改。也许我以错误的方式调用交易所。Solidity 版本 0.4.4 web3 “版本”:“0.20.2”
完整的solidity合约至今。
用于执行所有权转移的 Javascript
java - 无法使用 web3j 下载以太坊事件
当我尝试从区块链下载事件时:
我得到了例外:
.... org.web3j.protocol.rx.JsonRpc2_0Rx.lambda$ethLogObservable$10(JsonRpc2_0Rx.java:65) 在 rx.Observable.subscribe(Observable.java:10238) ... 还有 3 个
如何解决这个问题并下载 NewContract 事件?
javascript - 将 Mocha-before 中生成的值传递给 express app
我正在使用 express 和 mocha 进行测试。从 Express 我从部署在 ropsten 的智能合约中获取信息。所以地址总是一样的。我在配置文件中有那个地址。
对于本地测试,我想在每次测试之前使用 testrpc 并部署智能合约。因此,当我需要将部署的地址传递给 express 应用程序时。
我的代码是:
测试.js
在应用程序中
我需要使用生成的地址indexAddress: CONFIG.indexAddress
,所以我可以在构造函数中使用上下文。
javascript - Web3.js - 选项 http://localhost:8545/ net::ERR_CONNECTION_REFUSED
我正在尝试为网站配置 web3.js。我希望使用以太坊进行身份验证。
我收到以下错误:
ethereum - 燃气消耗过多
我正在编写我的第一个 Eth 合约,我遇到了一个问题,该buy
方法的 gas 消耗(估计)非常高(在出现“超过最大 gas 限额”错误之前快速 > N 百万 gas。)
快速地说,这个想法如下: - 有一张地图(2D 地图),您可以拥有多个区域(这里称为单位,这就是我维护“unitsToState”明显映射的原因)。- 您可以一次购买多个相邻区域,因此创建了一个“块”。- 所以当你购买一个新的区块时,合约必须检查里面的所有单元是否都是空的( unitsToState[x] == 0 )。购买块时,这些状态设置为 1。
我在这里不解释太多细节,因为我猜问题主要是我的“Solidity”糟糕的算法编程。
这个方法可以用代表一个小区域的 fromX、fromY、toX、toY 的 500k gas 来执行,但是当它们彼此相距很远时,我在 gas 估计过程中得到“超出最大 gas 允许”错误。所以真的估计有问题。。
``` ...
```
ethereum - Web3:没有提供者集
我正在使用 web3 (1.0.0-beta.27) 编写脚本,我正在尝试部署合约并监听事件。
这是代码的简化版本:
但是,当我运行代码时,出现以下错误:
我的理解是,将 URL 传递给 Web3 构造函数会设置提供程序,但这似乎不起作用。
ethereum - Solidity:如何获取正在调用函数的帐户
我正在尝试制作一个测试应用程序,其中帐户只能调用一次函数。这可能吗?我所需要的只是一种获取调用我的函数的帐户/地址的方法,也就是“发件人”部分。
谢谢