问题标签 [evm]

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

blockchain - 有没有办法修复安全帽无法签名

每当我尝试部署合同时,我都会收到此错误图像;https://ibb.co/SfzQ1MW

我将非常感谢您的帮助

0 投票
0 回答
59 浏览

ethereum - 前两个 32 字节插槽的 EVM 内存数据位置如何使用?

Solidity 文档说:

0x00 - 0x3f(64 字节):散列方法的暂存空间

我如何理解“散列方法的暂存空间”?

0 投票
0 回答
83 浏览

transactions - 0x 交换错误,因为:错误:事务已被 EVM 还原

我正在使用 0x 将我的 Binance 代币换成其他受人尊敬的代币。我从 0X API 获得了所需的数据,但每次它都显示 EVM 无故错误地恢复了事务。

这些是交易时的日志 -

signed { messageHash: '0x6fd9e426b7c085a740b261c4fc606e88767c4819150a169a028079024923afaa', v: '0x94', r: '0xdbdb5aab20584e6a4e65ec3153894222a44df0f7b661dab19c6b6b1cb3c2519a', s: '0x3210e091a62ec3f92d22bda0cbd995b193eab36a97e95b157e76f6808257739f', rawTransaction: '',事务哈希:'0x76be9ab418105941a6cc1dd41829c4658278a469edd1c0dd84349fb574e92ec8' } sendSignedTransaction data 0x76be9ab418105941a6cc1dd41829c4658278a469edd1c0dd84349fb574e92ec8 swap error because of : Error: Transaction has been reverted by the EVM: { "blockHash": "0x6475ed2252aab3ed3aa2f91aa81ea9f2833c68fa1182beee3b4c76fb83a0fcfa", "blockNumber": 12297880, "contractAddress": null, "cumulativeGasUsed": 54244448, "from “:“0xa859d1f24f27b550bf4ba3b54d15d88d51df5018”,“gasUsed”:32362,“日志”:[],“logsBloom”:“0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "status": false, "to": "0xdef1c0ded9bec7f1a1670819833240f027b25eff", "transactionHash": "0x76be9ab418105941a6cc1dd41829c4658278a469edd1c0dd84349fb574e92ec8", "transactionIndex": 298, "type": "0x0" } at Object.TransactionError (/node_modules/web3-core-helpers/lib/errors.js:87:21) 在 Object.TransactionRevertedWithoutReasonError (/node_modules/web3-core-helpers/lib/errors.js:98:21) 在 /node_modules/web3 -core-method/lib/index.js:393:57 at processTicksAndRejections (internal/process/task_queues.js:93:5) { 收据: { blockHash: '0x6475ed2252aab3ed3aa2f91aa81ea9f2833c68fa1182beee3b4c76fb83a0fcfa', blockNumber: 122978Used: 5444, null ,来自:'0xa859d1f24f27b550bf4ba3b54d15d88d51df5018',gasUsed:32362,日志:[],logsBloom:'0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000', status: false, to: '0xdef1c0ded9bec7f1a1670819833240f027b25eff', transactionHash: '0x76be9ab418105941a6cc1dd41829c4658278a469edd1c0dd84349fb574e92ec8', transactionIndex: 298, type: '0x0' } }} }} }

这是我们的代币——

https://bscscan.com/address/0x67b198a69f8cdab39524a00554c3dd50b6ba7fec

JS-

常量响应=等待获取(https://bsc.api.0x.org/swap/v1/quote?buyToken=0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c&sellToken=0x67B198A69F8cdAb39524a00554c3DD50B6bA7feC&sellAmount=1000000000000000000000000000000 常量 jsn = 等待 response.json();

0 投票
1 回答
619 浏览

ethereum - 您是否需要 Solidity 0.8+ 版本的 SafeMath,如果不需要,您还可以导入吗?

我有一个像这样的可靠智能合约,pragma solidity >=0.7.0 <0.9.0;即使 0.8+ 不需要它,我仍然可以导入 SafeMath 吗?由于 SafeMath 使用的是 0.7,但我的合同规定它接受 0.7.0 到低于 0.9.0,SafeMath 在这种情况下会做什么。

0 投票
1 回答
78 浏览

blockchain - 我可以根据 RSK 和以太坊的平均出块时间,使用区块高度来衡量一年的流逝吗?

我想在 RSK 和 Ethereum 中建立一个每年支付股息的 Solidity 智能合约。假设 RSK 和 Ethereum 中的当前平均块间时间,我应该使用块时间还是可以依赖块号?

0 投票
1 回答
51 浏览

blockchain - 无法将合约从 web3 部署到 geth 节点,错误:交易已被 EVM 还原

我在 Nodejs 项目中运行 web3。我已经使用了这个 genesis.json:

}

我有 geth init 和以前的 genesis 文件。我在远程实例上运行 geth。这是 geth 命令:

尝试从 web3 部署新合约时(我尝试了许多版本的 web3,包括所有稳定版本),出现此错误:错误:事务已被 EVM 还原,TransactionRevertedWithoutReasonError....

但另一方面,对于 Truffle 中的同一个合约,我成功地迁移并部署了同一个合约。

有人有这个问题吗?

0 投票
0 回答
63 浏览

blockchain - 为什么调用零(0x000 ...)地址时程序集delegatecall()返回1而不是0?

我在代理后备中有此代码:

destination当地址为零(0x00000000000000000000000)时,就会出现问题。delegatecall 经过,返回1,然后case 1返回数据完全为空,这会触发... did it run out of gas错误(这与问题无关)。

我刚刚从 Ganache 切换到最新的 Hardhat 和 web3 (v1.6.1),这会遇到问题default并恢复。有什么我不知道或最近发生了变化吗?

0 投票
2 回答
56 浏览

solidity - 为什么在这个智能合约上使用断言?

对于上面的合约,在什么情况下断言失败/地址(this).balance 没有减少(msg.value / 2)?为什么我们在这里需要断言?

0 投票
0 回答
24 浏览

solidity - 在没有 EIP-150 的情况下如何避免调用栈攻击?

在 EIP-150 之前,我们是否可以通过检查低级函数 .send()、.call()、.delegatecall() 和 .staticcall() 的返回值是否为 false 来避免调用堆栈攻击?

例如(msg.sender 是一个合约):

更改为:

整个合同在: https ://hackernoon.com/smart-contract-attacks-part-2-ponzi-games-gone-wrong-d5a8b1a98dd8

0 投票
1 回答
63 浏览

solidity - ParserError:应为“{”但得到“内存”

我正在使用pragma solidity >=0.7.0 <0.9.0;.

符合42以下功能:

导致此错误消息:

有人可以解释我在第 42 行做错了什么吗?