Making smart contracts developer friendly

Developing smart contracts and decentralized apps (dapps) is arduous today. Second State provides an open source stack of tools and runtime environments to make dapp development easy.

Getting started   Learn about EVM and Ewasm   @Devcon5   Award from Ethereum Foundation

Twin challenges of smart contract development

Generic programming language

Solidity, Vyper, and other smart contract languages are Turing complete generic programming languages. They are not optimized for any specific application scenario. It is difficult to write or use application libraries in those languages. The “world computer” is good for no particular application.

The lowest common denominator

The VM mixes consensus and non-consensus executions. Query/view functions, which account for 90% of the usage, must adhere to the strict limitations required by the small number of transactional functions. The smart contract is constrained by the lowest common denominator of consensus (e.g., no random number, very limited string function, no JSON).

Etheruem 1.x solutions

Generic programming language not optimized for any use case

Solution Domain-Specific Language (DSL) extensions to Solidity. A good example is the Lity Rules Language for Solidity. Smart contracts are rules-based programs. Incorporating formal and verifiable rules inside smart contracts is an important domain specific use case. See our video demo at Devcon5.

The lowest common denominator Non-consensus functions are needlessly constrained

Solution Use an external ElasticSearch engine to support non-consensus functions in auxiliary dapps. The example we demonstrated is the smart contract search engine. It provides up-to-date information about states inside smart contracts. The es-ss.js JavaScript API gives dapps immediate and rich access to blockchain data without going through consensus. See an example dapp built on es-ss.js

Ethereum 2.0 solutions


LLVM is the most widely used and optimized compiler toolchain for almost all modern computer languages. Second State is leading the initiative to bring the LLVM into the Ethereum community. Read our collaboration statement with Ethereuem Classic on LLVM-based tool chain for EVM. At Devcon5, we demonstrated the world's first Solidty LLVM compiler that can run ERC20 contracts on Ethereum Foundation's Ewasm testnet. See the demo video here.


WebAssembly (WASM) is a highly optimized virtual machine. The Ethereum flavored WebAssembly (Ewasm) is the smart contract execution environment for Ethereum 2.0 and beyond. Together with the LLVM, it could potentially support all popular programming languages, including DSLs, on the frontend, and support many libraries for non-censensus code. The Second State SOLL compiler can already generate smart contracts for Ewasm.

Putting all together

The Second State BUIDL IDE already supports domain specific language extensions, auxiliary application support, and will soon support LLVM / Ewasm! It works with all Ethereum compatible blockchains. All you need is a web browser. No wallets, no software download! Open the Second State BUIDL IDE for one of the following.


Great for new developers, gas free, 1s confirmation time, no need to deal with any cryptocurrency or wallet!



Ethereum compatible, 10s confirmation, rules engine, gas free operations for users.


Ethereum Classic

The original Ethereum blockchain, Store of value tokens, fast confirmation, low gas costs.