solidity相关内容
现在,任何人都可以调用FirstContract中的setMyString函数。我正在尝试将对该函数的访问限制为SecondContract的一个实例。但不是一个特定的实例,任何SecondContract类型的协定都应该能够调用setMyString。 contract FirstContract{ String public myString; function set
..
我使用web3.py运行以下代码: transaction = SimpleStorage.constructor().buildTransaction( {"chainId": chain_id, "from": my_address, "nonce": nonce} ) 我遇到以下错误: Traceback (most recent call last): File
..
这在其他语言中可能很简单,但我想不出如何用Solid来实现。 我有一个bytes32这样的0x05416460deb76d57af601be17e777b93592d8d4d4a4096c57876a91c84f4a712。 我不希望将字节转换为字符串,而是希望将整个内容表示为字符串,如";0x05416460deb76d57af601be17e777b93592d8d4d4a40
..
我的合同中有一个字段。大概是这样的: contract MyContract { string private secretField } function getSecretField() public view returns { ... some controls here... return secretField; } 我希望从我的后端服务器访问该secfi
..
我已经通过在ERC20.sol文件中实现OpenZeppelin创建了一个基本的ERC20令牌: pragma solidity ^0.6.4; import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.4.0/contracts/token/ERC20/ERC20.sol"; contract Toke
..
这取自OpenZeppelin的ERC20transferFrom实现: function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) { _transfer(sender, recipient, amoun
..
在players.push(msg.sender);语句中,我收到以下错误: 在Address Payment[]存储参考中根据参数查找后找不到或看不到成员&push&q; 因此,我无法推送到Solidity中的Payment数组。这里有什么解决办法? // SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.7.0; co
..
我正在尝试实现一个可靠的智能契约,该契约将部署的令牌从地址A发送到地址B。 地址A-应该是调用契约函数的当前用户。 地址B-应为外部的自定义钱包地址。 import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/IERC20.sol"; contrac
..
我想创建一个Dex网站,具有Solidity、Web3、tronweb和NodeJS。 现在我有一个关于TRC-20和ERC-20网络中的传输令牌的问题。 在我的网站上,用户可以存放来自bianance , coinbase , . . . 等其他站点的钱包,我创建了TRC-20或ERC-20 他/她的钱包地址。 在两个网络中都存在许多令牌,我的问题是,我如何知道用户发送或接收了哪个
..
我得到了一个实心接口的示例。 1/任何线索此方法是否准确,因为它在继承自合同而不是在扩展合同内实现接口。 2/我尝试实现它,协定A函数运行正常,但协定B getCount函数运行不正确。 // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; interface InterfaceA { function count()
..
我正在尝试使用Chainlink VRF在1个事务中获取可靠的随机数。 // SPDX-License-Identifier: MIT pragma solidity ^0.8.7; import "@chainlink/contracts/src/v0.8/VRFConsumerBase.sol"; contract RandomNumberConsumer is VRFConsumerB
..
很长一段时间以来,我一直在努力寻找一个解释,说明什么是可靠的事件(或区块链上下文中的事件)。据我所知,它们是一种存储(或记录)关于特定合同的信息的方式,然后可以在该合同的整个生命周期中更新这些信息。但这与普通的老变量有什么不同呢?为什么我不能只创建一个变量,然后用新信息简单地更新它? 推荐答案 来自docs: 固态事件在EVM的日志记录功能之上提供抽象。应用程序可以通过Ether
..
我正在使用下面的代码创建一个智能协定,它接收BNB并将协定创建的令牌发回。 我正在使用Remix,并选择要编译的DEX协定。 但是,当我执行此操作时,令牌信息不会显示在BscScan上。 示例:https://testnet.bscscan.com/token/0xb570E6Fff85CBE695c9394bDa7d55fb38a009A28 而且我也无法将其添加到我的钱
..
我正在使用ReMix IDE编译可靠的代码,但是,当我部署我的代码时,它不会显示Deploed Contracts菜单下的功能。请指导,我认为我的浏览器有问题,因为相同的代码在另一位朋友的计算机上运行正常。 我的代码还应该显示具有输入值的函数,但是,它只显示以下屏幕。 [![][2]][2] 具有输入值的实际所有函数如下所示。 [2]:https://i.stack.imgur.com/b
..
我一直在学习Chainlink API,并试图构建一个简单的协定,该协定将对API进行外部调用,并根据Oracle的请求结果向用户收费。 例如,如果API结果为true,我们将向您收取1美元,如果结果为false&Quot; ,我们将收取0.25美元 我在Kovan Testnet上运行这个,合同是由LINK提供资金的。每次我运行";questCompletedData"
..
我需要使用Truffle调用另一个约定中的函数。这是我的合同样本: Category.sol: contract Category { /// ... /// @notice Check if category exists function isCategoryExists(uint256 index) external view returns (bool) {
..
在阅读了Solidity v0.6.0docs的文档后,我仍然不理解fallback函数的含义。我读到它被分成两个函数:fallback () external payable和 receive () external payable。它们是匿名的,不接受任何参数,在绝大多数情况下,receive () external payable用于接收资金。你能用我的代码例子解释一下这些函数的一些用例吗,
..
我正在使用以太制作一个项目。 在此项目中,我正在签订一个名为&Q;A&Q;的合同。 当我向";A";发送邮件时,我希望";A";发出Web请求。 是否可能使用http(方法GET/POST)请求固定性? 推荐答案 以太区块链无法与外界交互,否则将不再是确定性的,10,000个得到不同Http返回值的以太节点无法就区块链状态达成共识。
..
在调用已部署在ropsten-inFura中的Solidity Contact时显示错误。我正在使用Web3(@0.19.1)调用协定。 有人遇到过同样的问题吗? 推荐答案 我猜您直接连接到不支持eth_sendTransaction的InFura。(要支持这一点,它需要知道您的私钥,但它是一个共享的公共节点。) 您需要亲自签署交易,然后通过eth_sendRawTrans
..
查看示例合同时,有时在方法中声明数组时带有“内存”,有时则没有。有什么区别吗? 推荐答案 如果没有Memory关键字,Solidity将尝试在存储中声明变量。 Lead Solidity Dev chriseth:您可以将存储视为具有虚拟结构…的大型阵列一种不能在运行时更改的结构--它由合同中的状态变量决定。 也就是说,存储结构是在基于您的合同级变量声明创建约定时固定设置的,并
..