[英]Simple smart contract in ethereum remix - ParserError: Expected ';'
[英]Remix Ethereum where goes the contract?
当我单击remix.ethereum.org下的create时,我不理解智能合约的实际去向。 例如,如果我选择“注入的Web3”,则应将合同发布到ropsten测试网上,对吗? 但是我该如何获取合同? 当我使用metamask时,它会在我使用web3.js时向我注入正确的提供程序,但是,如果我不想使用注入的web3,而是在web3.js中手动选择提供程序地址,那么现在如何找到该合同? 我可以通过这种方式访问智能合约吗?
编辑:我不知道我的问题应该出什么问题,我没有发现关于如何连接到智能合约的任何信息,例如在不注入web3的ropsten测试网络中。 通常,您可以在web3.js中执行此操作:
if (typeof web3 !== 'undefined') {
web3 = new Web3(web3.currentProvider);
} else {
// set the provider you want from Web3.providers
web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"));
}
}
但是,如果您没有注入web3,则可以使用localhost。 但是我无法连接到智能合约,因为它不知道我实际在哪个网络中发布了智能合约,对吗?
Remix具有3个不同的环境选项,可用于部署/测试Solidity合同:JavaScript VM,注入的Web3和Web3提供程序。 可以在“运行”选项卡下的“环境”下拉列表中更改此选项。 (看来您已经掌握了这一部分...只是为了完整起见才进行记录)。
因此,“智能合约的去向”取决于所设置的配置。 选择注入的Web3并不自动意味着您的合同已部署到Ropsten。 这取决于您在MetaMask插件中选择了哪个网络。
通过Remix使用MetaMask时,您需要使用插件来选择适当的帐户并确认/拒绝交易。 选择帐户有些混乱,因为Remix不会提取导入到MetaMask中的所有帐户。 帐户下拉列表将仅具有当前在MetaMask中选择的帐户。 另外,如果您在MetaMask中更改帐户,则必须重新加载Remix才能在下拉列表中选择该帐户。 它不会自动检测帐户在MetaMask中的更改时间。
正确选择帐户后(并假设您使用的是持有以太坊的帐户),现在可以部署合同。 点击“在Remix中创建”,然后再次切换到插件。 在那里,您应该看到等待批准的待处理交易。 选择事务,然后单击提交。
交易清单:
批准/拒绝屏幕:
提交后,将需要几秒钟的时间进行交易。 MetaMask将在完成时显示。 而已! 要与合同进行交互,您可以通过Remix来启动事务,类似于上面的部署步骤。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.