如何向以太坊区 block 链添加特定数量的代币?
我想我需要用类似这样的代币数组创建一个合约
contract Token {
uint[] public tokens;
}
我不想做任何花哨的事情。我只想拥有例如区 block 链中的 10 个代币,可以在不同地址之间转移。
所以一个地址应该能够持有多个 token 。
我曾尝试阅读有关契约(Contract)的内容,但与我想要完成的任务相比,它们看起来相当复杂。我只想创建代币,能够将代币分配给不同的所有者,并查找地址以查看该地址持有哪些代币。
我知道这个项目对于 stackoverflow 问题来说可能太大了,但我想知道要使用哪些工具。我想我应该设置一个测试 Node (例如 Truffle Ganache),这样我就可以创建一些帐户(谁应该能够持有 token ),但是我如何才能简单地创建 token ,将它们分配给帐户并查找哪些 token 每个帐户持有?
我可以使用 web3.js
连接到我的测试网络吗?我需要使用松露来创建契约(Contract)吗?是否有任何非常非常简单的 truffle 项目,仅发行代币并可以查看代币并将其分配给不同的用户?
最佳答案
对于这样的事情,您不需要创建自己的测试网络。相反,您可以使用 Rinkeby 或 Rospten 等公共(public)测试网。您甚至可以四处搜索以了解如何为这些测试网获得免费的测试以太币。
如果您只是想习惯对 token 进行编程并运行它,我建议您使用类似 Remix 的工具。在测试网上创建和部署 token 。
现在是 token ...
https://www.ethereum.org/token有一个最小可行 token 的好例子,我将解释每个部分的作用。
contract MyToken {
/* This creates an array with all balances */
mapping (address => uint256) public balanceOf;
/* Initializes contract with initial supply tokens to the creator of the contract */
function MyToken(
uint256 initialSupply
) {
balanceOf[msg.sender] = initialSupply; // Give the creator all initial tokens
}
/* Send coins */
function transfer(address _to, uint256 _value) {
require(balanceOf[msg.sender] >= _value); // Check if the sender has enough
require(balanceOf[_to] + _value >= balanceOf[_to]); // Check for overflows
balanceOf[msg.sender] -= _value; // Subtract from the sender
balanceOf[_to] += _value; // Add the same to the recipient
}
}
此代码将允许您使用您设置的初始供应量来初始化代币,然后将该余额设置到您的地址。然后,您可以使用下面的转移方法将任意数量的代币发送到另一个地址。
您可以通过 Remix 完成所有这些,而无需担心设置 truffle 或 web3 等。
这是一个可以用来获取 Rinkeby 以太币的水龙头:https://faucet.rinkeby.io/
关于javascript - 以太坊中的简单代币系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48552650/