问题标签 [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.

0 投票
1 回答
1262 浏览

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 ?

0 投票
1 回答
217 浏览

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() 方法的项目

0 投票
1 回答
238 浏览

java - Web3j 无法从 docker 容器连接

我在 docker 容器中有一个 java 应用程序。它尝试使用 web bean 连接到我的私有区块链。还有一些问题:无法确定节点的同步状态

我以为端口无法访问,但它对所有人开放。

如果我不在 docker 容器中执行我的 jar 文件 - 一切正常,它可以工作。

有任何想法吗 ?

0 投票
1 回答
1511 浏览

solidity - 转让所有权 web3

我正在创建一个 dapp 以使用 testrpc 将合同的所有权从一个地址转移到另一个地址。但是,我一直遇到这个问题。我尝试使用 sentransaction 方法来执行此所有权更改。也许我以错误的方式调用交易所。Solidity 版本 0.4.4 web3 “版本”:“0.20.2”

完整的solidity合约至今。

用于执行所有权转移的 Javascript

0 投票
1 回答
737 浏览

java - 无法使用 web3j 下载以太坊事件

当我尝试从区块链下载事件时:

我得到了例外:

.... org.web3j.protocol.rx.JsonRpc2_0Rx.lambda$ethLogObservable$10(JsonRpc2_0Rx.java:65) 在 rx.Observable.subscribe(Observable.java:10238) ... 还有 3 个

如何解决这个问题并下载 NewContract 事件?

0 投票
1 回答
49 浏览

javascript - 将 Mocha-before 中生成的值传递给 express app

我正在使用 express 和 mocha 进行测试。从 Express 我从部署在 ropsten 的智能合约中获取信息。所以地址总是一样的。我在配置文件中有那个地址。

对于本地测试,我想在每次测试之前使用 testrpc 并部署智能合约。因此,当我需要将部署的地址传递给 express 应用程序时。

我的代码是:

测试.js

在应用程序中

我需要使用生成的地址indexAddress: CONFIG.indexAddress,所以我可以在构造函数中使用上下文。

0 投票
1 回答
1279 浏览

javascript - Web3.js - 选项 http://localhost:8545/ net::ERR_CONNECTION_REFUSED

我正在尝试为网站配置 web3.js。我希望使用以太坊进行身份验证。

我收到以下错误:

0 投票
1 回答
774 浏览

ethereum - 燃气消耗过多

我正在编写我的第一个 Eth 合约,我遇到了一个问题,该buy方法的 gas 消耗(估计)非常高(在出现“超过最大 gas 限额”错误之前快速 > N 百万 gas。)

快速地说,这个想法如下: - 有一张地图(2D 地图),您可以拥有多个区域(这里称为单位,这就是我维护“unitsToState”明显映射的原因)。- 您可以一次购买多个相邻区域,因此创建了一个“块”。- 所以当你购买一个新的区块时,合约必须检查里面的所有单元是否都是空的( unitsToState[x] == 0 )。购买块时,这些状态设置为 1。

我在这里不解释太多细节,因为我猜问题主要是我的“Solidity”糟糕的算法编程。

这个方法可以用代表一个小区域的 fromX、fromY、toX、toY 的 500k gas 来执行,但是当它们彼此相距很远时,我在 gas 估计过程中得到“超出最大 gas 允许”错误。所以真的估计有问题。。

``` ...

```

0 投票
1 回答
1329 浏览

ethereum - Web3:没有提供者集

我正在使用 web3 (1.0.0-beta.27) 编写脚本,我正在尝试部署合约并监听事件。

这是代码的简化版本:

但是,当我运行代码时,出现以下错误:

我的理解是,将 URL 传递给 Web3 构造函数会设置提供程序,但这似乎不起作用。

0 投票
1 回答
852 浏览

ethereum - Solidity:如何获取正在调用函数的帐户

我正在尝试制作一个测试应用程序,其中帐户只能调用一次函数。这可能吗?我所需要的只是一种获取调用我的函数的帐户/地址的方法,也就是“发件人”部分。

谢谢