Diario de aprendizaje de solidez de contrato inteligente basado en Ethereum

La realización de la primera lección helloworld en remix

pragma solidity ^0.4.16;//版本号最好设置成0.4.16之后的版本,之前的版本在一些问题上面会报错

contract HelloWorld{
    string Myname = "chelsea";
    
    function getName() public returns(string)
    {
        return Myname;
    }
    
    function changeName(string _newName)public
    {
        Myname =  _newName;
    }
    
    function  pureTest(string _name) pure public returns(string){
        return  _name;
    }
}

Presentación de interfaz específica

La lección 2 es principalmente algunas declaraciones booleanas.

pragma solidity ^0.4.16;

contract booleanTest{
    
    bool _a;
    int num1=100;
    int num2=100;
    function getBool() returns(bool)
    {
        return _a;
    }
    
    function getBool1() returns(bool)
    {
        return !_a;
    }
    
    function panduan() returns(bool)
    {
        return num1==num2;
    }
    
    function panduan2() returns(bool)
    {
        return num1!=num2;
    }
    function yu() returns(bool){
        return (num1==num2)&&true;
    }

}

Lección 24 - Lección 31 Direcciones y transacciones

1. La esencia de la dirección de Ethereum (p24)

pragma solidity ^0.4.16;

contract addresstest{
    address public account;//初始时默认地址为0,外部地址为0xca35b7d915458ef540ade6068dfe2f44e8fa733c(40个字节160位)等价于 unit160,账户地址代表拥有账户
    
}

página después de ejecutar

Haga clic en Implementar. Una vez completada la implementación, el contrato también tendrá una dirección. Esta dirección 0xe90f4f8aeba3ade774cac94245792085a451bc8e se implementa en la red blockchain
![](https://img-blog.csdnimg.cn/df8e7800174d4b24a851684b00cee2d7.png
y luego se realiza una verificación sobre si es de 160 bits. Esta parte informó un error y no se ha ajustado específicamente. (la función es unit160 y dirección para coerción)

pragma solidity ^0.4.16;

contract addresstest{
    address public account;//0xca35b7d915458ef540ade6068dfe2f44e8fa733c
    
    function changeIt() returns(unit160){//报的错误是6:33.declarationError
        return unit160(account);
    }
}

Luego explique cómo juzgar la dirección, juzgar el tamaño y juzgar en función del tamaño numérico de la dirección.

pragma solidity ^0.4.16;

contract addresstest{
    address public account=0xca35b7d915458ef540ade6068dfe2f44e8fa733c;
    
    address account1=0xca35b7d915458ef540ade6068dfe2f44e8fa733c;
    address account2=0x0de37dce8154ce54d895bd16942c86d568ddb5fc;
    
    function changeIt() view returns(address){
        return address(0xe90f4f8aeba3ade774cac94245792085a451bc8e);
    }
    
    function check1() view returns(bool){//加上view之后能够更加直观的在右方看到结果
        return account1>account2;
    }
    
    function check2() view returns(bool){
        return account1>=account2;
    }
    
    function check3() view returns(bool){
        return account1<account2;
    }
    
    function check4() view returns(bool){
        return account1<=account2;
    }
}

Presentación de resultados

2. Transferir fondos usando una billetera (p25)

El contrato tiene una dirección, por lo que Ether aún se puede almacenar en esta dirección. Cómo enviar Ether al usuario del contrato al llamar a la dirección. Al llamar a la función, envíe el valor, que es el monto de la transacción, a la dirección del contrato. Al llamar a la función, envíe la
inserte la descripción de la imagen aquí
información del valor, envíe ether a la dirección de la cuenta, después de hacer clic en el botón de pago, enviará 10 ether que se muestran en la imagen a la dirección del contrato inteligente

Supongo que te gusta

Origin blog.csdn.net/chelseaz/article/details/121268758
Recomendado
Clasificación