具有预先存在余额的 ERC20 solidity 合同 - 可能吗?

ERC20 solidity contract with pre-existing balances - possible?

我的一部分人认为,如果这是可能的,这有点违背安全区块链的整体理念,但我只是想检查并确定。

是否可以创建和部署一个智能合约来创建多个地址,每个地址都有一个预定义的初始代币余额?如果是这样,这些地址是否可以 'accessible' 作为钱包供某人使用?

所以,假设我创建了一个代币 ABC,它的供应量为 1.000.000.000,然后我创建了 10 个地址,每个地址中有 50.000 ABC,其余的 ABC 代币仍在 'genesis'/初始地址——这可能吗?或者,这种 "pre-walleting" 可以在令牌创建后用第二个合约完成吗?假设现在我已经说了 50K 个 ABC 地址,那么它们可以 'given' 到 users/made 访问吗?

当然,人们总是可以创建硬币,然后进行一系列交易来完成上述 'the old fashioned way',但我很好奇是否可以通过 faster/shortcut 方式获得这样的设置。

这无法使用标准的 ERC20 令牌定义来实现,您想要做的与 "Airdrop"[=21 非常相似=], 在这种情况下,可以按照以下步骤实现:

  1. 创建并部署 ERC20 令牌。
  2. 创建一个智能合约来处理代币分配,这个合约将包含处理或分配过程的逻辑。
  3. 调用分发合约并传递地址数组 将收到令牌。

我在你提出的方法中看到的问题是,为了向用户提供地址,你必须向他们提供私钥,这意味着他们不会完全控制他们的资金,因为你已经知道那些钥匙,所以我认为这不是一个好的决定。