问题标签 [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 投票
5 回答
2755 浏览

ethereum - 创建以太坊合约(去以太坊)

尝试按照 go ethereum 的 wiki 示例创建基本合约: https ://github.com/ethereum/go-ethereum/wiki/Contracts-and-Transactions

一切似乎都有效,直到我下楼到最后一行:

eth.contract 方法的“abi”参数是什么?另外,我会在“evmCode”参数中添加什么?在这个特定的示例中,似乎我会为“arg1”输入一个整数,但不确定完整示例应该是什么样子。

0 投票
1 回答
824 浏览

cloud9-ide - 以太坊测试 RPC 在 Cloud9 中与 Truffle 一起工作

有人知道如何让以太坊测试 RPC 在 Cloud9 上运行吗?我可以truffle serve在 8080 端口上运行并查看结果。但是当我尝试时testrpc -p 8081,我的 truffle 应用程序无法访问 testrpc。我还将松露 app.json 配置为指向 8081 而不是默认的 8545。

编辑:当我netstat -tulpn按照@Justin 的建议尝试时,我得到以下信息:

编辑:好的,这是我的新尝试:

  1. testrpc --port 8081 --domain 0.0.0.0
    这似乎可以在公共接口上正确启动 testrpc 客户端
  2. 更新 app.json 以包含
    "rpc": { "host": "localhost", "port": 8081 }
  3. truffle deploy
  4. 更新 app.json 以包含
    "rpc": { "host": "project-user.c9users.io", "port": 8081 }
  5. truffle serve
  6. 打开浏览器到http://project-user.c9users.io
  7. 收到 JavaScript 错误Uncaught Error: CONNECTION ERROR: Couldn't connect to node http://project-user.c9users.io:8081.

新的“netstat -tulpn”返回:

编辑:我在浏览器通信上运行了 Wireshark,当 JavaScript 尝试与testrpc. 我得到一个302 Moved Temporarilywith location https://c9users.io:8081/_user_content/authorize?redirect=http%3A%2F%2Fproject-user.c9users.io%2F。这个问题似乎在https://community.c9.io/t/url-to-running-code-gets-stuck-on-authentication/142没有得到解决。

0 投票
2 回答
397 浏览

javascript - 在以太坊区块链上保存合约数据的更有效方式是什么?

我正在玩一个私有的以太坊区块链,我对实现一些智能合约很感兴趣。但是,信息非常有限,因为这是区块链的较新实现。

举个例子,假设我想要一份包含某人信息的合同。为每个人创建一个新合约更有效,还是简单地将所有用户的信息保存在同一个合约中?

在伪代码中,这两个选项如下所示。

选项 1(为每个人实例化一个新合同):

选项 2(在一份合约中保存所有用户的信息):

以下是我们如何量化这种情况下的“效率”:

  1. 每次实例化新合约时,我们都必须为合约挖掘区块,然后挖掘用户对合约进行的任何交易。但是,如果我们只实例化一个合约,我们只会挖掘一次合约部署,然后再挖掘任何交易,但是......
  2. 如果我们选择将所有用户的所有信息存储在一个合约中,则只是将合约数据的“差异”(所有用户的“数组”)存储为一个块,还是将整个数据集存储在每个街区?或者...
  3. 如果我们选择“每个用户的合同”选项,如果我们多次存储整个合同定义是否会“浪费空间”(是否值得进行可能的冗余挖掘)?

希望我的问题很清楚,但如果没有,请告诉我。我相信这个问题是“权衡”之一。

(回复:标签——我正在使用以太坊的 golang 实现,以及与之交互的 JavaScript API。)

0 投票
1 回答
351 浏览

python - 如何从 pyethereum 获取事件日志信息?

我有一些测试可以与 pyethereum 创建合同并用它们做各种事情,但我对如何获取有关它们记录的事件的信息感到困惑。

一个简化的例子:

我运行它并得到:

正在打印的 json 是我想要的信息,但是有人可以解释或指出一个示例,说明我如何捕获它并将其加载到 python 中的变量中,以便我可以检查它并用它做些什么?似乎有一个名为 log_listener 的东西可以传递给 abi_contract ,看起来它是相关的,但我不知道该怎么处理它。

0 投票
1 回答
187 浏览

javascript - 在使用带有 ethereumjs-lib 的 browserify 时找不到模块“secp256k1-browserify”

我正在尝试使用ethereumjs-lib安装的库在浏览器中运行一个简单的脚本。我browserify用来生成所需的 javascript 文件以嵌入到 html 页面中,但它给了我一个关于缺少模块的错误,secp256k1-browserify如下所示:

任何熟悉ethereumethereumjs-lib请帮助我解决此问题的人。

0 投票
0 回答
495 浏览

blockchain - 为什么我的私有以太坊网络上的对等发现失败?

我正在尝试建立一个私有以太坊网络以在通过 LAN 连接的一组 5 台机器中运行。正如以太坊文档中提到的那样,我使用自定义--networkid 15693来设置网络,但是当我geth在不同的机器上运行并使用它形成一些初始连接时,admin.addPeer()就会保持这种状态;对等发现似乎不起作用。例如,我有节点1,23这样的连接是1--2and 2--3,那么为什么3无法发现1

编辑 如果我在本地(在机器内)设置网络,则节点能够发现并相互连接,但是通过 LAN 它会失败。

0 投票
2 回答
618 浏览

token - 创建以太坊代币作为挖矿奖励

我已经成功地使用 Frontier 网站上的“操作方法”创建了一个注册的以太坊“令牌”。我打算继续签订众包合同,为能够在世界上做一些好事的筹款活动筹集资金,但稍后会详细介绍。代币创建文本包含改进我的新代币功能的建议:例如,您可以通过创建一个交易来奖励发现当前区块的人来奖励以太坊矿工:

只需将此代码粘贴到我的合同中自然会产生错误消息。

问: 我需要调整、输入、更改什么,才能用我的一种代币奖励未成年人?对于每一个开采的新区块。谢谢你。

0 投票
1 回答
150 浏览

ethereum - 在以太坊合约中指定未来交易

比特币有一个 nLockTime 参数,该参数可以与交易相关联,以指定在将交易添加到区块之前必须经过的最短时间。是否可以在以太坊合约中做类似的事情?

0 投票
1 回答
265 浏览

bitcoin - 在不删除换行符的情况下编译智能合约

我是与以太坊编写智能合约的新手。

根据官方文档,编译智能合约需要删除合约源代码中的所有换行符:

https://ethereum.gitbooks.io/frontier-guide/content/contract_greeter.html

由于我认为删除过程并不聪明,我想编译代码本身,如:

迎宾员.txt

有人该怎么做吗?

我使用的编译器是 Solidity。

0 投票
1 回答
76 浏览

ethereum - 解释 etherereum eth 客户端控制台日志

我想了解当我通过控制台调用 eth 客户端时抛出的内容(日志)(参见下面的快照)。我一直找不到任何可以帮助我解释这些日志的定义。任何指针?

在此处输入图像描述