Resumen de uso de la consola de trufas

 4.1 Cree su propio contrato
Cree su propio archivo de contrato Greeter.sol en el directorio ./contract con el siguiente código:

contract Greeter         
{
    address creator;     
    string greeting;     

    function Greeter(string _greeting) public   
    {
        creator = msg.sender;
        greeting = _greeting;
    }
    

    function greet() public constant returns (string)           
    {
        return greeting;
    }
    
    function setGreeting(string _newgreeting) public
    {
        greeting = _newgreeting;
    }
    
     /**********
     Standard kill() function to recover funds 
     **********/
    
    function kill()public
    { 
        if (msg.sender == creator)
            suicide(creator);  // kills this contract and sends remaining funds back to creator
    }

}

4.2 Nuevo script de lanzamiento
Modifique el archivo 2_deploy_contracts.js en el directorio ./migrations/ y agregue el código de lanzamiento de la siguiente manera:

module.exports = function(deployer) {
  deployer.deploy(Greeter,"Hello, World!");//"参数在第二个变量携带"
};

Después de eso, truffle compile compila el contrato; truffle migrate implementa el contrato, el efecto es el siguiente:

inserte la descripción de la imagen aquí

4.3 Operación a través de la consola
Podemos usar el comando de la consola truffle para ingresar a la consola e ingresar comandos relevantes a través de la consola para realizar operaciones relacionadas. El efecto es el siguiente:

inserte la descripción de la imagen aquí

 Realice operaciones relacionadas ingresando comandos:

inserte la descripción de la imagen aquí

Consulta ----- ejemplo de llamada de llamada

MetaCoin.deployed().then(function(contractInstance){contractInstance.getBalance.call('0x2B9f4E75310127Bbd1A13E6a3Cb9cBc8bDc05F91').then(function(v){console.log(v)})})

Configuración---enviarTransacción

MetaCoin.deployed().then(function(contractInstance){contractInstance.sendCoin.sendTransaction('0xA39b1E127aEd52352b3cc043C94189E46C9E9601',200).then(function(v){console.log(v)})})

 

La construcción del framework Truffle bajo Ubuntu - Se busca programador

Cómo implementar contratos inteligentes con Truffle - 51CTO.COM

Ingrese a la consola de trufas para depurar el contrato

Después de que el contrato se implemente con éxito, ejecútelo en la terminal truffle console, puede ingresar a la consola de Javascript para depurar el contrato:

 
 
  1. truffle console

  2. truffle(default)>

en la consola de Javascript a través de

ContractName.deployed()oContractName.at(contractAddress)

Obtenga el objeto de contrato implementado y luego puede usar el objeto para llamar a los métodos del contrato para la depuración:

Obtenga el objeto de contrato desplegado:

truffle(default)> var metacoin = MetaCoin.deployed()

Primero verifique el saldo de MetaCoin de la primera cuenta:

truffle(default)> metacoin.getBalance.call(web3.eth.accounts[0])

Debería devolver 10000 porque el valor inicial del creador del contrato se establece en 10000 en el constructor MetaCoin.

A continuación, transfiera 30 MetaCoins de la primera cuenta a la segunda cuenta:

truffle(default)> metacoin.sendCoin.sendTransaction(web3.eth.accounts[1],30,{from:web3.eth.accounts[0]})

La llamada anterior a sendCoin enviará una transacción a la cadena de bloques, lo que requiere la extracción de nodos para que la transacción sea efectiva.

Después de que la transferencia sea exitosa, verifique si el saldo de las dos cuentas ha cambiado:

 
 
  1. truffle(default)> metacoin.getBalance.call(web3.eth.accounts[0])

  2. truffle(default)> metacoin.getBalance.call(web3.eth.accounts[1])

Después de la ejecución, se encuentra que el saldo de cuentas[0] se ha convertido en 9970 y el saldo de cuentas[1] se ha convertido en 30, lo que indica que la transferencia se realizó correctamente. Intro .exitpara salir de la consola de trufas.

Notas de estudio de Ethereum: configuración y uso del entorno de desarrollo de Truffle: se busca programador

Supongo que te gusta

Origin blog.csdn.net/u013288190/article/details/123850542
Recomendado
Clasificación