solrun

Command-line tool for run solidity contract. Interpreter based on ethereumjs-vm


Keywords
solidity, ethereum, contracts, evm, interpreter
License
ISC
Install
npm install solrun@0.0.7

Documentation

solrun

toolstack for blockchain projects

  • solrun Run Solidity Contract
  • solabi Parse ABI from Solana program's code

Install

npm install solrun -g

solrun

  • default solc complier version is 0.6.12

Usage

solrun test.sol

test.sol

contract Coin {
    address public owner;
    mapping(address => uint) public balances;

    constructor(address miner) {
        owner = miner;
    }

    function mint(uint amount) external {
        balances[owner] += amount;
    }

    function balanceOf(address who) external view returns (uint) {
        return balances[who];
    }
}


contract Test {

    event Log(string);
    event Log(uint);

    string public state;
    Coin coin;
    address public coinerOwner;

    constructor() {
        state = "constructor";
        coinerOwner = address(0);
        coin = new Coin(coinerOwner);
    }

    // solrun will auto call this main function 
    function main() external {
        emit Log(state);
        if (2 > 1) emit Log("failed");
        emit Log("hello world");
        setState("set newSate");

        coin.mint(1000);
        uint balance = coin.balanceOf(coinerOwner);

        emit Log(balance);

        string memory curSate = getState();
        emit Log(
            string(
                abi.encodePacked("state:", curSate)
            )
        );
    }

    function setState(string memory newState) public {
        state = newState;
    }

    function getState() public view returns (string memory) {
        return state;
    }
}

Output

Log(constructor)
Log(failed)
Log(hello world)
Log(1000)
Log(state:set newSate)

Roadamp

  • Run contract
  • Support display require message
  • Support import
  • Call specify Contract and method
  • Multiple method call
  • Switch solc compiler vesion