solrun
v0.0.7
Published
Command-line tool for run solidity contract. Interpreter based on ethereumjs-vm
Maintainers
Readme
solrun
toolstack for blockchain projects
solrunRun Solidity ContractsolabiParse ABI from Solana program's code
Install
npm install solrun -gsolrun
- default solc complier version is
0.6.12
Usage
solrun test.soltest.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
- [x] Run contract
- [x] Support display
requiremessage - [ ] Support
import - [ ] Call specify Contract and method
- [ ] Multiple method call
- [ ] Switch solc compiler vesion
