Moneda de color en Ethereum para diferenciar el saldo del monedero ether

He oído hablar del concepto de moneda de color en bitcoin, ¿hay algo similar en Ethereum?

Quiero tener una billetera única que mantenga dos tipos de ether

. digamos que uno viene de mí agregando éter y otras ganancias de los juegos. quiero usar estos dos éteres por separado en una sola billetera. hay algo para esto?

gracias :)

Respuestas (1)

Ethereum fue diseñado con esta característica en mente, entre otras. Por lo general, no escuchará a las personas llamarlas "monedas de colores", sino fichas.

Pruebe estos enlaces en los documentos de introducción:

https://ethereum.org/token

https://blog.ethereum.org/2015/12/03/how-to-build-your-own-cryptocurrency/

O si solo quieres código:

contract tokenRecipient { function receiveApproval(address _from, uint256 _value, address _token, bytes _extraData); }

contract MyToken {
    /* Public variables of the token */
    string public standard = 'Token 0.1';
    string public name;
    string public symbol;
    uint8 public decimals;
    uint256 public totalSupply;

    /* This creates an array with all balances */
    mapping (address => uint256) public balanceOf;
    mapping (address => mapping (address => uint256)) public allowance;

    /* This generates a public event on the blockchain that will notify clients */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /* Initializes contract with initial supply tokens to the creator of the contract */
    function MyToken(
        uint256 initialSupply,
        string tokenName,
        uint8 decimalUnits,
        string tokenSymbol
        ) {
        balanceOf[msg.sender] = initialSupply;              // Give the creator all initial tokens
        totalSupply = initialSupply;                        // Update total supply
        name = tokenName;                                   // Set the name for display purposes
        symbol = tokenSymbol;                               // Set the symbol for display purposes
        decimals = decimalUnits;                            // Amount of decimals for display purposes
        msg.sender.send(msg.value);                         // Send back any ether sent accidentally
    }

    /* Send coins */
    function transfer(address _to, uint256 _value) {
        if (balanceOf[msg.sender] < _value) throw;           // Check if the sender has enough
        if (balanceOf[_to] + _value < balanceOf[_to]) throw; // Check for overflows
        balanceOf[msg.sender] -= _value;                     // Subtract from the sender
        balanceOf[_to] += _value;                            // Add the same to the recipient
        Transfer(msg.sender, _to, _value);                   // Notify anyone listening that this transfer took place
    }

    /* Allow another contract to spend some tokens in your behalf */
    function approveAndCall(address _spender, uint256 _value, bytes _extraData)
        returns (bool success) {
        allowance[msg.sender][_spender] = _value;
        tokenRecipient spender = tokenRecipient(_spender);
        spender.receiveApproval(msg.sender, _value, this, _extraData);
        return true;
    }

    /* A contract attempts to get the coins */
    function transferFrom(address _from, address _to, uint256 _value) returns (bool success) {
        if (balanceOf[_from] < _value) throw;                 // Check if the sender has enough
        if (balanceOf[_to] + _value < balanceOf[_to]) throw;  // Check for overflows
        if (_value > allowance[_from][msg.sender]) throw;   // Check allowance
        balanceOf[_from] -= _value;                          // Subtract from the sender
        balanceOf[_to] += _value;                            // Add the same to the recipient
        allowance[_from][msg.sender] -= _value;
        Transfer(_from, _to, _value);
        return true;
    }

    /* This unnamed function is called whenever someone tries to send ether to it */
    function () {
        throw;     // Prevents accidental sending of ether
    }
}
me resulta muy difícil entender esto... ¿alguna manera fácil de entender e implementar? @koampapapa
Prueba los enlaces que te di. No son tan malos... solo toma un café primero
jajaja... Leí esos enlaces, no pude instalar mist correctamente en mi sistema Linux, está causando algún problema. así que no pude implementar ningún contrato hasta ahora y me quedé con la ejecución de la parte de los contratos. así que buscando algo que sea fácil de implementar: D
Sí, eso tampoco funcionó para mí en Linux. Luego encontré esta cosa increíble ethereum.github.io/browser-solidity/#version=soljson-latest.js Luego continué con el tutorial y aprendí mucho. Luego tuve ADD y en realidad no implementé mi contrato, pero apuesto a que si quisieras, podrías
sí, lo intenté pero no pude implementarlo. También he instalado trufa/pudín. pero no pude conectar trufa con geth y luchando :(