我正在尝试访问当前登录的 tronlink 帐户,以便使用 tronlink 为我的 dapp 进行身份验证。使用metamask和web3我可以使用以下方法获取MetaMask上当前的活动帐户:
const userPublicAddress = web3.eth.coinbase
Run Code Online (Sandbox Code Playgroud)
tronweb 和 tronlink 的类似方法是什么?我在文档中没有发现这一点。
我正在开发荷兰式拍卖风格的 ICO 合约,目前正在尝试迁移 ERC20 合约的早期阶段以测试基本功能(它是否具有正确的名称、符号和小数点)。合同可以编译,但我无法迁移它,因为它是“抽象合同”。我的代币合约继承自ERC20Detailed,即Open Zeppelin合约,而后者又继承自IERC20接口合约。我可以做什么来解决这个问题?我尝试让我的代币合约也从 ERC20 继承基础合约,但它说标识符已经声明了。我看到了 Truffle 终端输出可能的响应,但我很好奇为什么我的实现不起作用,并且希望获得更多帮助来理解 Solidity 接口和抽象合约。
我可以做什么来解决这个问题?我尝试让我的代币合约也从 ERC20 继承基础合约,但它说标识符已经声明了。
pragma solidity ^0.5.8;
import "node_modules/openzeppelin-solidity/contracts/token/ERC20/ERC20Detailed.sol";
contract Token is ERC20Detailed{
constructor(string memory _name, string memory _symbol, uint8 _decimals)
ERC20Detailed(_name, _symbol, _decimals)
public
{
}
}
Run Code Online (Sandbox Code Playgroud)
Bash 终端的输出
“Token”是抽象合约或接口,无法部署。* 将抽象导入到使用它们的“.sol”文件中,而不是单独部署它们。* 继承抽象的合约必须准确实现其所有方法签名。* 仅实现继承抽象的一部分的合约也被认为是抽象的。
我正在运行一个使用truffle initCMD 命令创建的 truffle 项目。npx reate-react-app然后我在同一文件夹中创建一个反应应用程序。我正在创建一个 NFT,因此我使用npm install @openzeppelin/contracts命令在我的 React 应用程序中安装了 OZ 合约。
现在整个项目看起来像这样。
根文件夹
包.json
这是完整的truffle-config.js
/**
* Use this file to configure your truffle project. It's seeded with some
* common settings for different networks and features like migrations,
* compilation and testing. Uncomment the ones you need or modify
* them to suit your project as necessary.
*
* More information about configuration can be found at:
*
* trufflesuite.com/docs/advanced/configuration …Run Code Online (Sandbox Code Playgroud) 我是 Solidity 的初学者,我一直在玩松露,当我发送交易时,我得到一个交易日志,其中一个值是“tx”,其他标签非常不言自明,但我不太明白什么这个代表?
那么它代表什么/你可以用这些信息做什么?
谢谢
truffle ×4
solidity ×3
erc20 ×1
ethereum ×1
javascript ×1
metamask ×1
openzeppelin ×1
tronweb ×1