问题标签 [openzeppelin]

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

ethereum - 如何从外部资源将库连接到智能合约?

如何从外部(非本地)资源连接SafeMath.sol

0 投票
3 回答
416 浏览

ethereum - 用户帐户如何拥有 ERC20 代币

这个问题有点概念化,所以希望这张图片能帮助我消除误解。在此处输入图像描述

图片在地址 0x2 上部署了一个众筹智能合约。地址 0x01 的用户购买代币。这是我对发生的事情的理解:

  1. 众筹合约(@地址:0x2)接受来自用户账户(@地址:0x1)的以太币
  2. 众筹合约将 0x1 存储为已购买代币(重要:此信息存储在智能合约 @address 0x2 中)

现在我的问题:如果 0x1 是用户帐户(而不是智能合约),地址 0x1 处没有代码。我认为一个用户帐户只是由一个地址 + 与该地址关联的以太组成,它如何还存储 0x1 拥有 ERC20 令牌的事实?例如,我可以登录 MetaMask 并且(在单击“添加令牌”选项之前)MetaMask 可以看到我有一个令牌......这怎么可能?

0 投票
1 回答
1177 浏览

solidity - 错误:简单众筹合约中 Solidity 函数的参数数量无效

我是智能合约开发的初学者。我正在使用 openZeppelin、truffle 和 Ganache 来开发一些非常基本的代币和众筹合约。当我尝试buytoken()从 Truffle 控制台中的众筹合约中调用该方法时遇到了一个错误。有人可以帮我解决问题吗?迁移和部署合约时没有问题。

下面列出了 truffle 控制台命令:

0 投票
0 回答
324 浏览

ethereum - 交易被退回

我是编写智能合约的初学者。我想在 Kovan 测试网上部署众筹和代币合约。除了我试图将 KTH 发送到众筹合约之外,一切都运行良好。最后我总是得到“还原交易”。有人可以帮我解决这种情况吗?我正在使用来自 openZeppelin 和 truffle 套件的标准 Crowdsale 和 Token 销售合同。

众售合约:https ://kovan.etherscan.io/address/0x68321f1380ac45be3f3d85d0cd95d1ac5710b8a9#code

代币合约: https ://kovan.etherscan.io/address/0xb76b6ae76cee43e0b32588ffc112efca3c781f1e#code

0 投票
0 回答
38 浏览

ethereum - 以太坊:无法执行功能且余额为空

我有以下问题:

  1. ,bank balance在构造函数中被标记填充为空。

  2. 令牌交易不适sendMoneyToCustomer用于标准功能或标准功能transfer

我使用zeppelin框架和以下示例代码来演示我的问题:

0 投票
1 回答
340 浏览

ethereum - 当我添加一个简单的函数时,为什么我的 SmartContract 会耗尽燃料

我有一个从 openzeppelin 派生的简单令牌MintableToken

但是,当我添加一个构造函数或另一个函数时,我总是会用尽汽油。但是当我只添加两者之一时,无论是构造函数还是函数,一切正常。

我的问题是:如何将多个函数与构造函数一起添加到我的 SmartContract 中?

令牌代码:

迁移:

2_deploy_contracts.js:

当我想部署代码时,我收到以下错误消息:

错误:处理事务时出现 VM 异常:气体不足

如果我删除构造函数或测试函数,一切正常。

0 投票
1 回答
796 浏览

mysql - Angular - 在 Zeppelin 中将动态表单内容插入数据库

我正在尝试使用 Angular 解释器在 Apache Zeppelin 中创建一个简单的动态表单。我想将作为输入的值从一个笔记本中的表单传递到另一个笔记本中的动态 MySQL 插入查询。Angular 代码如下:

这将创建一个动态表单点击查看 我想在下一段中执行插入查询(MySQL),从角度动态表单访问上述变量“firstname”、“myVar”和“reg”。

谁能帮我?

0 投票
1 回答
236 浏览

solidity - Openzeppelin ERC20 恢复

我的意图是让 ERC721 代币只能通过我的 ERC20 代币转移

传输流是

  1. 买方批准 ERC20 给卖方。
  2. 卖方将 ERC721 转让给买方。
  3. My ERC721 Token的转账功能先将ERC20从Buyer转账给Seller,再将ERC721从Seller转账给Buyer。

还原错误发生在 ERC20 传输步骤。

我尝试删除每一行以找到还原点。我发现了。

这是我的测试代码

我的合同中的还原点在这里

ERC20 StandardToken 合约中的还原点在这里

如您所见,在我的测试代码中,我仔细检查了

请在这里查看我的完整代码

0 投票
1 回答
638 浏览

python - 从 Web3.py 部署使用 OpenZeppelin 制作的合约

我遵循了一个以创建 ICO 和 Crowdsale 为中心的教程(基于我创建的 ICO)。

这是一个非常经典的教程,我知道,但是现在我正在将在 Django 平台中借助 OpenZeppelin 和 Truffle 框架制作的两个合约与 Web3.py 库集成在一起,我遇到了一个问题。

我用solc编译了合约源,得到了abi和bin文件。

我已经在 python 中打开了这样的文件

我还在 Ganache 区块链模拟器中初始化了 Coin 合约。

但是现在我不知道如何在区块链中部署 Crowdsale 合约。

这是部署硬币的成功代码:

以下是部署众筹合约的失败代码:

此部署会生成 ganache 错误:

处理事务还原时出现错误 vm 异常

任何想法如何在 web3.py 中正确部署?


作为参考,这里是使用 Truffle 框架部署众筹代码的成功代码:

0 投票
1 回答
2068 浏览

arguments - 为什么我不能在 Remix 中传递这些参数?

我正在尝试部署OpenZeppelin PaymentSplitter.sol,但在 Remix 中出现以下错误:

我试过通过:

但每一个都会产生相同的错误。

任何人都可以解释为什么这不起作用吗?

提前致谢