Я развернул обычный токен-контракт, совместимый с ERC20, через компилятор Remix и MetaMask. После этого развернутый токен отображается на Etherscan как токен. Однако, когда я пытаюсь развернуть контракт токена, который принадлежит, мне нужно развернуть контракт токена и контракт владельца отдельно, в результате чего получается два изолированных контракта из одного и того же исходного кода.
Я использую очень простой код контракта с официального сайта Ethereum: https://ethereum.org/token#full-coin-code.
Любая помощь вам будет оценена
Вам не нужно развертывать унаследованный контракт (принадлежащий) отдельно, вам просто нужно унаследовать его в контракте токена, добавив "is owned"
(пример ниже).
Еще немного информации о наследовании здесь. http://solidity.readthedocs.io/en/develop/contracts.html#inheritance
pragma solidity ^0.4.18;
contract owned {
function owned() { owner = msg.sender; }
address owner;
}
// Use "is" to derive from another contract. Derived
// contracts can access all non-private members including
// internal functions and state variables. These cannot be
// accessed externally via `this`, though.
contract MyToken is owned {
function kill() {
if (msg.sender == owner) selfdestruct(owner);
}
}
Затем в Remix вы можете выбрать развертывание только MyToken . Поскольку исходный код контракта относится к owned ( "is owned"
), этот owned
код будет включен в скомпилированный код MyToken.