问题标签 [go-ethereum]

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 回答
1910 浏览

cloud - 无法在我的私有链上开始挖矿

我无法通过 geth 控制台在我的私有链上挖矿,卡在下面的步骤中。

环境:阿里云服务器,Ubantu X86_64;1GB RAM 1 个 CPU 内核。

这是我使用的 genesis.json:

创建节点1

启动node1

另外:在我的 MAC 笔记本电脑中使用相同的配置和命令进行挖掘工作正常。也许矿工卡在云服务器中是因为缺少 CPU 内核或 RAM,但我不确定。

有人可以帮忙吗?

0 投票
2 回答
726 浏览

ethereum - Geth 无法连接到专用网络

我正在创建一个专用网络(以太坊)。我写了 genesis.json 文件(下面的代码),然后我没有错误地初始化它,但是当我尝试连接到它时,会创建一个新行(意味着应该指定一个额外的命令)。当我按下回车键时,geth 只是连接到主网络。如何让 geth 连接到专用网络?

注意:您可以立即告诉 geth 连接到主网络,因为我的链的 ID 是15并且它显示连接到1

创世纪.json:

命令行:

附加信息: 我正在运行 MacOS Sierra (10.12.3) 我正在使用终端 (2.7.1)

0 投票
0 回答
614 浏览

ethereum - 错误启动协议栈:无效的争论

我目前正在尝试使用geth并且我想启动我的私人以太坊网络,以便我可以测试我的应用程序。但是,当我尝试使用时geth --datadir=./chaindata/,这只会在终端中给我一些错误,我在这个问题的底部显示了这些错误。我知道还有其他用户在 Mac OS 上遇到同样的问题,这也是我正在使用的。

这是终端输出:

0 投票
0 回答
205 浏览

blockchain - 如何使用节点应用程序跟踪以太坊上的交易并在完成交易时触发功能

如果我的钱包里有以太币,我正在尝试运行一个函数。我正在使用 geth 和 nodejs。有人可以建议我如何做到这一点。

0 投票
1 回答
91 浏览

ethereum - 在专用网络中使用 ehereum 钱包部署智能合约的问题

我正在尝试使用 Ethereum Wallet client (mist) 在专用网络中部署智能合约。虽然我有足够的资金,但应用程序抱怨我没有足够的资金来支付 * gas price+value。

智能合约代码:

** Genesis.json **

Geth 命令:

geth --datadir=./chaindata

注意:我是以太坊区块链开发的新手,所以试图通过创建私人网络来获得经验

0 投票
1 回答
2995 浏览

javascript - 当结构有两个以上参数时,带有 array.push() 的 Solidity 函数不起作用

我已经通过 remix 将具有以下推送功能的合约部署到我的本地私有链。

如果我通过 web3Provider@remix 调用它,它可以正常工作,但是当我通过 geth 控制台或 JS 脚本调用它时contractInstance.setTestArrayByPush(<Add1>, <Add2>,<Int>),它不会将任何东西推送到数组中。当我从 TestComplex 结构中删除一个属性并且函数更改如下。它适用于 geth 和 remix。

所以我想知道 remix 函数调用和 geth 控制台有什么区别?我怎样才能将两个以上的参数传递到我的 Dapp 中的 stuct 数组中?

0 投票
0 回答
1017 浏览

javascript - 发送签名交易以部署合约(以太坊)

我的目标是发送已签名的交易以创建智能合约,但是,我遇到了几天无法解决的问题:

当我发送交易(在私有链上)时,有两个不同的结局:

- 1 Web3js 告诉我它有效,我可以看到区块上的交易。但是,当尝试联系合同时,我有以下输出:

错误:无法从 ABI 解码 uint256:0x

当我尝试eth.getCode(contractAddress)在 Geth 中运行时,它会返回0x

- 2 Web3js 告诉我该交易还没有挖到 50 个区块(节点没有时间挖到 50 个区块)。但我可以看到区块中的交易(在 geth 中)。

这是我使用的代码:

有人可以指出我做错了什么吗?

注意:我可以使用上述方法发送签名交易以在地址之间转移以太币。

编辑:估计气体返回以下内容:错误:

返回错误:所需气体超过限额或交易总是失败

0 投票
0 回答
49 浏览

blockchain - 如何处理以太坊上的失败链?

我正在构建分散式应用程序,它将数据从区块链抓取到 mysql 数据库。

我不确定,但我猜以太坊网络的一部分可能接受新开采的交易 X,而另一部分接受开采的交易 Y。一段时间后,其中一个交易应该被全链接受,而其他交易应该失败。

如果我的节点进入错误的链,我的 mysql 数据库中的数据将不正确。并且很难恢复数据库。

如何正确处理这些类型的冲突?我是否应该仅在一定数量的确认(例如 5 或 10)后才获取数据?还是有另一种方法?

0 投票
6 回答
9423 浏览

ethereum - 混音 | 无法连接到 Web3 提供程序

我在 web3 提供程序 (localhost:8545) 上运行时出错

所以我想出如下。

我在本地运行 geth,并提供了一些连接 remix 和 testnet 的选项。

我给了 -rpccorsdomain 因为混音是在 https 上。

无论如何,请检查 remix IDE 中“运行”选项卡上的“web3 证明者”。

然后,将地址修改为“ http://127.0.0.1:8545 ”而不是“ http://localhost:8545 ”。

我不知道为什么,但是当我这样修复时它仍然有效。我做了我的帐户并做了一些事情。

但是,由于某种原因,我不得不再次重新下载 geth。(我已经改变了我的电脑)。我现在正在同步块。我认为同步尚未完成,因为 blockNumber 为 0。

所以...我现在正在等待,但我想知道当 eth.syncing 未完全完成时可能会发生错误。

0 投票
1 回答
168 浏览

javascript - Node.js/geth : 执行 js 会创建僵尸进程并停止,可能的资源泄漏

我正在运行将web3包上的 js 代码连接到geth 的JSON RPC API。代码遍历传入块的每笔交易,如果不是内部钱包则跳过,如果是则通过 http 请求将信息发送到另一台服务器。

不知何故,这段代码开始产生大量的僵尸进程,当计数正好达到 2040 时,它停止进程保持活动状态,但日志停止本质上意味着代码没有执行。即使我无法找到代码中的哪一行正在创建额外的进程,但我有一个问题——>这些是已失效的进程,所以它们已经退出,但它们为什么持有资源,或者不是?如果不是,那么为什么它恰好停在 2040 数字上,回调函数是否有可能会创建僵尸?

该代码使用eth.filter.watch函数,该函数未关闭,因为它必须不断收集块信息..

这是我的上衣 在此处输入图像描述

这是我的免费 -h 在此处输入图像描述