Trufa para pruebas de contratos inteligentes

otras dependencias

nodo.js,

Dado que se realiza con npm, configure primero la fuente del espejo doméstico. buscar en línea

1. Instalar trufa

npm install truffle -g

truffle --version
安装完其他项目依赖,能够产生一下效果

2. Creación de proyectos

创建test文件夹
mkdir test

进入test
cd test

初始化项目
truffle init

 

contratos : Carpeta para escribir y almacenar contratos inteligentes

migraciones : use solidez para escribir la carpeta de contratos inteligentes y escriba archivos para explicar cómo truffle implementa contratos inteligentes, usando node.js

test : se usa para escribir archivos de prueba, la mayoría de ellos usan node.js y algunos usan Solidity

truffle-config.js : el archivo de configuración se usa para definir la red para la implementación de contratos inteligentes

3. Editar contrato

// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.7.0 <=0.9.0; //请注意solidity的版本问题,如果合约指定的版本和当前Solidity不兼容的话,这将会在编译的时候出错

contract Test {
    uint data;

    function updateData(uint _data) external {
        data = _data;
    }

    function readData() external view returns (uint) {
        return data;
    }
}

4. Compilar el contrato

        

5. Implementar el contrato

Ganache se puede instalar de forma independiente, pero cuando se instala truffle, también se instalará automáticamente, y los contratos inteligentes escritos y probados se pueden implementar en la cadena privada o en la red de prueba de Ethereum.

 1. Escriba el archivo de migración test_deploy.js


const Test = artifacts.require("Test");

module.exports = function (deployer) {
    deployer.deploy(Test);
};
2. Edite el archivo truffle-config.js

Esto corresponde a la configuración de Ganache.

3. Implementar el contrato
truffle migrate

 6. Pruebas de contrato

recompilará e implementará

const Test = artifacts.require('Test');

contract('Test', () => {
    it('Should update data', async () => {
        const newTest = await Test.new();
        await newTest.updateData(10);
        const data = await newTest.readData();
        assert(data.toString() === '10',"failed!");
    });
});

 

Supongo que te gusta

Origin blog.csdn.net/Qhx20040819/article/details/131897769
Recomendado
Clasificación