我很难理解智能合约以及它们在网络上的工作方式。我将以 ERC20 代币智能合约为例:
contract EIP20 is EIP20Interface {
uint256 constant private MAX_UINT256 = 2**256 - 1;
mapping (address => uint256) public balances;
mapping (address => mapping (address => uint256)) public allowed;
string public name; //fancy name: eg Simon Bucks
uint8 public decimals; //How many decimals to show.
string public symbol; //An identifier: eg SBX
function EIP20(
uint256 _initialAmount,
string _tokenName,
uint8 _decimalUnits,
string _tokenSymbol
) public {
balances[msg.sender] = _initialAmount; // Give the creator all initial tokens
totalSupply = _initialAmount; // Update total supply
name = _tokenName; // Set the name for display purposes
decimals = _decimalUnits; // Amount of decimals for display purposes
symbol = _tokenSymbol; // Set the symbol for display purposes
}
我的问题是:
- 这个智能合约是如何部署在网络上的?代币是否类似于从该合约实例化的对象?
- 在构造函数中,它声明“将所有令牌交给创建者”。这是否意味着智能合约只运行一次,然后就存在于区块链上。智能合约不可能像一个类,而代币就像对象,因为那样的话,这意味着每个代币都有能力创造自己的供应量。
我为我的不理解道歉。我来自面向对象的背景,掌握智能合约的概念对我来说有点困难。
先感谢您!