首页 > 解决方案 > “预期的主要表达式”错误 - 尝试在 remix 上编译智能合约 - ethereum ide

问题描述

老实说,这段代码取自一个网站,该网站旨在简化在币安智能链上创建智能合约/代币的过程。(简短的背景故事:我和一些朋友认为拥有我们自己的代币会很有趣,例如下注、玩扑克,现在正试图通过在 BSC 上部署我们的智能合约来创建我们自己的代币)

这是我使用的模板的链接:https ://github.com/binance-chain/bsc-genesis-contract/blob/master/contracts/bep20_template/BEP20Token.template

我正在尝试编译代码,但在第 352 行出现错误“预期的主表达式”。这意味着什么?我真的只是个外行。该令牌应该被称为 Omega 和符号 OHM。

谢谢你的建议!

标签: tokensoliditysmartcontractsremix

解决方案


链接合约包含导致语法错误的此函数。

constructor() public {
  _name = {{TOKEN_NAME}};
  _symbol = {{TOKEN_SYMBOL}};
  _decimals = {{DECIMALS}};
  _totalSupply = {{TOTAL_SUPPLY}};
  _balances[msg.sender] = _totalSupply;

  emit Transfer(address(0), msg.sender, _totalSupply);
}

我假设合同作者打算使用这些占位符来指出您可以在哪里填写自己的值。

将占位符替换为实际值后,合约编译成功。

constructor() public {
  _name = "MyToken";
  _symbol = "MyT";
  _decimals = 18;
  _totalSupply = 1000000000000000000;
  _balances[msg.sender] = _totalSupply;

  emit Transfer(address(0), msg.sender, _totalSupply);
}

推荐阅读