Learn Ethereum programming through test driven development. The Koans walk you along the path to enlightenment in order to learn Solidity - as inspired by Ruby Koans.
This is an intermediate series for learning Solidity and smart contract development. You will explore technicalities from syntax edgecases, to assembly in the EVM, to smart contract coding conventions, all through test driven development.
“If your mind is empty, it is always ready for anything, it is open to everything. In the beginner’s mind there are many possibilities, but in the expert’s mind there are few.”
git clone https://github.com/nczhu/solidity-koans.git
npm install -g truffle ganache-cli
ganache-cli
/test
directory, where each test represents a koan. To get started with the easiest (and first) Koan, run:
truffle test ./test/Test_assert_1.sol
function test_should_return_true() public {
Assert.isTrue(__, "should return true");
}
truffle test ./test/Test_FILENAME
Tests will fail with error messages, e.g.:
2) Test_Assert_1
test_should_return_true::
Error: should return true
__
with the correct values or code, e.g.:
function test_should_return_true() public {
Assert.isTrue(true, "should return true");
}
Member "..." not unique after argument-dependent lookup in type(library Assert)
. Solution: try typecasting your answer to solve compiler issues.git checkout -b issue#-feature
git commit -am 'Fix/Add/Change: commit msg'
git push origin issue#-feature
See full list of outstanding issues here.
MIT License