问题标签 [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.
blockchain - 有没有办法修复安全帽无法签名
每当我尝试部署合同时,我都会收到此错误图像;https://ibb.co/SfzQ1MW
我将非常感谢您的帮助
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();
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 在这种情况下会做什么。
blockchain - 我可以根据 RSK 和以太坊的平均出块时间,使用区块高度来衡量一年的流逝吗?
我想在 RSK 和 Ethereum 中建立一个每年支付股息的 Solidity 智能合约。假设 RSK 和 Ethereum 中的当前平均块间时间,我应该使用块时间还是可以依赖块号?
blockchain - 无法将合约从 web3 部署到 geth 节点,错误:交易已被 EVM 还原
我在 Nodejs 项目中运行 web3。我已经使用了这个 genesis.json:
}
我有 geth init 和以前的 genesis 文件。我在远程实例上运行 geth。这是 geth 命令:
尝试从 web3 部署新合约时(我尝试了许多版本的 web3,包括所有稳定版本),出现此错误:错误:事务已被 EVM 还原,TransactionRevertedWithoutReasonError....
但另一方面,对于 Truffle 中的同一个合约,我成功地迁移并部署了同一个合约。
有人有这个问题吗?
blockchain - 为什么调用零(0x000 ...)地址时程序集delegatecall()返回1而不是0?
我在代理后备中有此代码:
destination
当地址为零(0x00000000000000000000000)时,就会出现问题。delegatecall 经过,返回1
,然后case 1
返回数据完全为空,这会触发... did it run out of gas
错误(这与问题无关)。
我刚刚从 Ganache 切换到最新的 Hardhat 和 web3 (v1.6.1),这会遇到问题default
并恢复。有什么我不知道或最近发生了变化吗?
solidity - 为什么在这个智能合约上使用断言?
对于上面的合约,在什么情况下断言失败/地址(this).balance 没有减少(msg.value / 2)?为什么我们在这里需要断言?
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
solidity - ParserError:应为“{”但得到“内存”
我正在使用pragma solidity >=0.7.0 <0.9.0;
.
符合42
以下功能:
导致此错误消息:
有人可以解释我在第 42 行做错了什么吗?