быстрая референса по Truffle

инициализация контракта

mkdir gavno_contract
cd gavno_contract
truffle init

создаем код GavnoContract.sol

pragma solidity ^0.4.8;

contract GavnoContract{
  uint256 someGavno;

function addGavnoToContract() public payeable {
    someGavno+= msg.value;
  }
}

и качуем /migrations/2_deploy_contract.js, где добавляем имя контракта

var GavnoContract= artifacts.require("./GavnoContract.sol");

module.exports = function(deployer) {
  deployer.deploy(GavnoContract);
};

топаем в /tests, где создаем юниттест

var GavnoContract = artifacts.require("./GavnoContract.sol");
let instance;

contract("GavnoContract:test", async (accounts) => {

  it("let's create this shit", async function () {
    instance = await GavnoContract.new({from: accounts[1]})
    await instance.addGavnoToContract({from: accounts[3], value: 100000000000000});
    await instance.addGavnoToContract({from: accounts[4], value: 100000000000000})
    let result1 = await instance.someGavno.call();

   // console.log(result1.toNumber());
    assert.isTrue(resultNum != 200000000000000);
  });
});

дальше как обычно

truffle compile
truffle migrate
truffle test

 

Добавить комментарий