问题标签 [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 回答
566 浏览

blockchain - 是否可以在 genesis.json 中预定义智能合约?

我遇到了与此https://ethereum.stackexchange.com/questions/7707/is-it-possible-to-preload-contracts-in-the-genesis-block?rq=1完全相同的问题

Agian,是否可以通过像这样分配 alloc -> code 字段来预定义合同,

在此处输入图像描述

但是,似乎无论我调用合约中的哪个方法,它总是返回合约本身的字节码,而不管该方法的逻辑和内容如何。

在此处输入图像描述

这可能是我部署合约的原因:

在此处输入图像描述

当我调用 test() 时,获得:

在此处输入图像描述 这不是一个字符串。

当我调用 test2() 时,获得:

在此处输入图像描述 这是一个很大的数字。

当我调用 test3(1) 时,得到一个 false,它不是 1 == 1。

我查看了相关线程,发现了这个,https://ethereum.stackexchange.com/questions/30366/how-does-the-genesis-json-file-define-the-initial-state-of-the -区块链

看起来存储设置是必要的,但我完全不知道我应该写什么键/值。

那我该怎么处理这个案子呢?

0 投票
1 回答
367 浏览

ethereum - POA集团以太币

我使用 Clique 权威证明(2 个密封器)创建了 3 个节点。我知道我可以在初始化 genesis.json 文件时分配以太币。

问题:3 个节点可以挖以太币还是只挖封印者?

0 投票
1 回答
367 浏览

go - 以太坊简单存储:get() 函数总是返回零?

简单存储.sol:

绑定/SimpleStorage.go:

测试/SimpleStorage.go:

geth使用脚本启动:

问题:运行perigord test给了我结果:

为什么get()返回 0 而不是 2302?

通过打印交易,我看到了:

如果我试图获取To地址的值:

和:

0 投票
1 回答
738 浏览

ethereum - 在geth中可以托管不在本地主机上的专用网络吗?

我想知道是否可以在 geth 而不是在本地主机上托管专用网络。是否可以使用非本地 IP 地址连接到我的私有链?

0 投票
3 回答
2920 浏览

ethereum - 最近签的Clique POA 一定要等别人

这是我第一次这样做,希望有人能理解我的语法和问题。我使用 puppeth 创建了 2 个节点,并为我的私人以太坊选择了 Clique。两个节点都是密封器(使用clique.getSigners()在两个节点上验证)并且都可以将彼此视为对等点(使用admin.peers验证)。当我开始使用下面的代码为两个节点挖掘时,两个节点最近都停留在签名状态,必须等待其他节点

geth personal.unlockAccount(eth.coinbase)

geth eth.defaultAccount = eth.coinbase

geth miner.start()

两个节点的屏幕截图

以下是创建节点 1 的步骤(已经使用 puppeth 创建了 genesis)

  1. geth --datadir "文件夹" 初始化 "genesis.json"
  2. geth --datadir "文件夹" --networkid [网络提供] --nodiscover
  3. 单独的控制台 - geth attach ipc:\.\pipe\geth.ipc
  4. admin.addPeer(节点2的enode)

下面是创建节点 2 的步骤(已经使用 puppeth 创建了 genesis)

  1. geth --datadir "文件夹" 初始化 "genesis.json"
  2. geth --datadir "文件夹" --networkid [网络提供] --nodiscover
  3. 单独的控制台 - geth attach ipc:\.\pipe\geth.ipc
  4. 获取 enode admin.nodeInfo.enode 并在节点 1 中使用 admin.addPeer

检查签名者 - clique.getSigners - 两个帐户都出现

检查两个节点的对等节点 - admin.peers - 都可以

然后我都使用下面的代码

geth personal.unlockAccount(eth.coinbase)

geth eth.defaultAccount = eth.coinbase

geth miner.start()

0 投票
1 回答
66 浏览

android - go ethereum 的 Gradle 同步错误

在应用程序的 build.gradle 文件中,我包含了 maven 中央存储库并添加了依赖项

但是 Gradle 同步失败并出现此错误

我该如何解决?

0 投票
0 回答
70 浏览

android - 如何将 android 模拟器连接到本地托管的私有以太坊区块链?

由于运行geth实例的localhost是127.0.0.1,模拟器的localhost是10.0.2.2。,我怎样才能在它们之间建立连接?

0 投票
1 回答
147 浏览

azure-web-app-service - 如何在 Azure 网站中使用 web3js 访问 Azure 私有节点?

我已成功在 Azure VM(OS Windows)中设置节点。下面是命令

在我托管在 Azure 网站上的代码中

笔记

  • 我可以在 Remix web3Provider 中使用 localhost:8545在带有节点的 VM 内访问它,但我无法使用公共 IP (publicIP:8545) 或 DNSName:8545 在 VM 外部访问
  • 我在 VM 的网络安全组中打开了端口 30303、8545、22,8000、8080
  • 该节点目前也正在成功挖掘
  • rpccorsdomain "*", --rpcaddr 0.0.0.0, try also --rpcaddr StaticIP

我在想,如果我可以在带有节点的 VM 之外的 Remix 中访问它,它应该在 Azure 网站中也能正常工作。

0 投票
0 回答
224 浏览

go-ethereum - Geth 节点日志在上传智能合约后被杀死

我遇到了geth的问题。

在我通过 RPC 上传智能合约后,节点记录Killed并死亡。

有谁知道问题可能是什么?或者我如何调试它?

0 投票
0 回答
167 浏览

solidity - web3 - event.watch 以随机顺序吐出事件

我正在观看一个活动:

在事件内部,我这样做了tempString = ((messages.split(":")[1].split(",")[0] + " (From: " + messages.split(":")[2].split("}")[0]) + ")").replace(/"/g, '');,长话短说,从事件中生成一个字符串,从块中给出事件(即它给出在块 173 中生成的事件)。

然后我从每个事件中设置一个<h2>元素的文本。发生这种情况时,它会将它们设置为看似随机的顺序。会发生什么,它将它们从块 0 设置为最新的块,所以这怎么会发生。

这是完整的代码:https ://pastebin.com/wGt5kL1Y