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

python - 如何在纯 python 中创建以太坊钱包?

我正在构建一个为用户创建钱包的应用程序。一种选择是 web3.py 中的web3.personal API,它有一个newAccount('passphrase')方法。该方法只返回创建账户的地址。

我要找的是一个类似于web3.js中的eth.accounts API的函数,它有一个create([entropy])方法。它返回一个包含“地址”、“私钥”和其他详细信息的帐户对象。

我对以太坊的想法和这种开发实践非常陌生,所以很高兴能从你那里得到一些帮助。先感谢您。

0 投票
2 回答
3048 浏览

ethereum - web3.eth.accounts 返回一个函数

我正在关注一个使用 testrpc 和 web3.js 的教程。安装软件包后ethereumjs-testrpcweb3testrpc启动 10 个可用帐户及其私钥。

web3位于 1.0.0-beta.18 和ethereumjs-testrpc4.1.1。

运行以下代码时

我得到以下输出,而不是教程中显示的 10 个帐户。什么地方出了错?

在教程后面,web3.eth.accounts部署合约时需要

0 投票
1 回答
6689 浏览

node.js - 如何使用 web3 将以太坊从一个钱包转移到另一个钱包?

我正在开发一个自定义 ETH 钱包,我可以使用 vanity eth 生成公钥/私钥。在收到此钱包中的金额后,我需要将 ETH 发送到我尝试使用 web3 的另一个钱包。我该怎么做呢?钱包目前只有很少的 ETH,但是当我尝试使用 web3 代码检查余额时,它显示零余额。那么如何使用 web3 代码将 ETH 从一个钱包转移到另一个钱包,请指教。

我获取钱包地址余额的代码如下。

0 投票
1 回答
774 浏览

android - RxJava 如何在旧版本的 mainThread 上观察?我无权访问 AndroidSchedulers.mainThread()

我正在使用 web3 构建一个项目。

但是 web3 使用的是旧版本的 RxJava,我无法访问 mainThread 来观察它(更新文本视图等)

有任何想法吗?

0 投票
2 回答
4722 浏览

javascript - 与表单一起使用时,字符串参数不会自动解析为 bytes32

我有一个看起来像这样的solidity函数-

当我使用 truffle 控制台调用该函数时,我可以使用 -

但是当我使用 web3 和具有相同数据的字符串格式的表单运行它时,它会给出错误-

错误:给定参数不是字节:“随机”

我想我在这里缺少一些基本的东西。请帮忙。

0 投票
0 回答
1663 浏览

javascript - 如何解决 Web3 承诺对象?

我正在尝试从 Ethereum web3 函数获取帐户信息,但它返回 Promises,我不知道如何使用 Async/Await 语法调用其中的值!

这是代码:

结果:

然后我尝试了:

结果:

已编辑

然后我尝试实施其他人标记为异步问题重复答案的解决方案,但即使应用结果,我仍然得到 Promise:

回报:

0 投票
0 回答
347 浏览

spring - 以太坊交易 Observable BigInteger 超出 int 范围

我从https://github.com/web3j/web3j-spring-boot-starter添加了 web3j 的依赖项

然后创建了一个服务并编写了:

当在以太坊的私有区块链中创建任何块时,我正在获取块号,但是在交易中可观察到的BigInteger out of int range异常。

日志是:

0 投票
1 回答
120 浏览

javascript - Web3 版本到处都不一样

我正在以这种方式从 metamask ectension 初始化 web3-

上面的 console.log 给出了 version 1.0.0-beta.22,但是当我web3.version在组件内的其他函数内部调用时-

这里console.log(web3.version)给出version 0.20.2

我使用 npm 安装的 Web3 版本是 version 1.0.0-beta.22。我猜 0.20.2 版本是由 metamask 以某种方式注入的。我想在1.0.0-beta.22任何地方使用版本。我怎样才能做到这一点?

0 投票
4 回答
13518 浏览

ethereum - 如何使用 web3.js 1.0 认证和发送合约方法

我对如何使用 web3 1.0 库执行合同方法感到困惑。

此代码有效(只要我先手动解锁帐户):

我收到此错误(如果我不先手动解锁):

返回错误:需要身份验证:密码或解锁

上面的代码是 node.js 中的一个 API 端点,所以我希望它以编程方式解锁或验证。

web3.js 1.0 中没有解锁账户的方法。

我也不认为这是必要的(至少我对此感到困惑)。因为我在管理账户,所以我知道私钥是什么。

我在想交易需要用私钥签名??这个对吗?这实际上与“解锁帐户”相同吗?

我试过这样做:

我收到此错误:

返回错误:方法net_version不存在/不可用

验证和提交交易的最简单方法是什么?

理想情况下,我想在我的代码示例中使用第一种方法,因为它是最干净的。

0 投票
1 回答
493 浏览

ethereum - 下面的以太坊合约函数调用数据是如何构造的?

0x5537f99e000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000072268656c6c6f2200000000000000000000000000000000000000000000000000

5537f99e 是函数名,即'setstring' 2268656c6c6f22 是函数的参数,即'hello',

请解释如何构建以太坊合约的原始数据。我对这些偏移感到困惑。