问题标签 [vyper]

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

ethereum - 如何使用 waffle 和 ethers.js 测试应付/外部方法

这是用 vyper 编写的要测试的智能合约

donate()用 waffle 和 ethers.js测试智能合约方法的正确方法是什么?

是否有 ethers.js 的 sendTransaction 方法,可以像web3+truffle这个例子一样在合约端调用?

0 投票
0 回答
9 浏览

calendar - 有截止日期,包括今天的日期 + 365 天

结束日期 = 今天的日期 + 365 天(滚动年份) 我需要结束日期,包括今天的日期 + 365 天,应该是滚动年份。在 vyper 中需要这个。任何人都可以帮我解决逻辑

0 投票
0 回答
42 浏览

python - 以太坊合约恢复

我已经成功地在 MEW 上部署了一个用 vyper 编写的智能合约(来源如下)。当我尝试向合约发送资金时,交易被撤销。我已经尝试尽可能简化代码,但它仍然被挂断。我在想我的 assert 调用把它绊倒了,所以我也删除了它们,但仍然遇到了问题。最后,我尝试了一个超级简单的“Hello World”合约,并且在部署后也恢复了。我在这一点上不知所措。任何人都知道为什么我会收到还原错误?

0 投票
1 回答
2341 浏览

python - 在 Python@3.10 上安装 cytoolz 时出现问题

我正在尝试cytoolz安装virtualenv

  1. Python版本 =3.10.0
  2. Pip版本 =21.3.1

pip install cytoolz激活的 virtualenv 中运行后,我得到以下日志:

看来安装cytoolz包有问题。运行pip install cytoolz会产生相同的错误。我该如何解决?

编辑:正如评论中提到的,问题eth-brownie不在cytoolz. 在这里,您可以在 Github 中找到一个未解决的问题。

0 投票
0 回答
11 浏览

python - 合同夹具不适用于 pytest

我正在向Moralis Web3 part8学习

Python 3.9.1 Brownie v1.17.0 - 以太坊的 Python 开发框架

这是我的合同

这是测试文件

brownie test并得到了错误

问题: 如何用 vyper 做正确的断言?

0 投票
1 回答
55 浏览

decimal - vyper 有没有办法计算 e^x ,其中 x 是有符号小数?

对于我的论文,我一直在寻找一个用 Vyper 智能合约计算 exp(x) 的方程。我选择 Vyper 而不是 Solidity,因为它能够处理定点数。但是,我找不到有效的方法,因为 Vyper 不允许我使用十进制基数进行幂运算。

我想做的是 e**x (e = 常数欧拉数 = 大约 2.718281828。x 是可以为负数或正数的小数变量)

我尝试寻找一个 Vyper 数学库,它为小数提供求幂函数,但没有运气。某处有人建议使用指数 e 的查找表来最小化计算时间。但是,我不知道如何在 Vyper 中实现它。

我目前正在尝试开发基于泰勒级数的指数函数,https://en.wikipedia.org/wiki/Taylor_series

这是计算这个问题的唯一方法吗?我觉得可能有更好的解决方案。

0 投票
1 回答
78 浏览

nft - 我需要在 ERC721 中使用批准方法吗?

我正在练习智能合约,NFT 看起来对我很感兴趣。
用 Vyper 编写的 ERC721

它的批准机制是什么?
是做什么的isApprovedForAll

国际海事组织。我不需要使用批准方法。我只要用transferFrom()就够了。
如果我错了,请纠正我

0 投票
0 回答
229 浏览

ethereum - Vyper 如何将 uint256 转换为字符串?

我需要在 vyper 中将 uint256 转换为字符串,我注意到 Solidity 上有类似的东西(取自OpenSea 的文档):

有一个名为“Strings.uint2str()”的方法,在 Vyper 中是否有等效的方法?

0 投票
0 回答
31 浏览

typescript - 如何让 TypeChain 为 Vyper 合约生成类型

Typechain 为 Solidity 合约生成类型,但不为 Vyper 合约生成类型。我看到 *.dbg.json 文件是为每个对应的 *.sol 文件生成的,但不是为 *.vy

编辑:通过cli生成类型:npx typechain --target=ethers-v5 './artifacts/contracts/**/+([a-zA-Z0-9_]).json' --out-dir "./typechain /" 并在 hardhat.d.ts 中导入类型就可以了。似乎安全帽在为安全帽生成类型时存在错误。根据这里的讨论得出这个结论:https ://github.com/dethcrypto/TypeChain/issues/146