Lamington Simplifies EOSIO Smart Contract Development

This article was first published on eosio - Medium

Kevin Brown, the founder of Coinage, tells us about his work on the Lamington project and how this tool is designed to help compile, deploy and test EOSIO smart contracts.

How does Lamington aid in smart contract development?

Lamington is an easier way to compile, test, deploy, and call actions on your EOSIO smart contracts from Javascript and Typescript. It generates full Typescript types from your ABIs (giving you autocomplete in VSCode even if you don’t use Typescript) and creates contract objects so you can simply write await contract.action(parameter1, parameter2) instead of having to dive down to the EOSIO level on every call. It also comes with a bunch of helpers for asserting data in tables looks how it should after actions are called, or asserting that a contract action is missing an authority, etc.

Why did you decide to create Lamington?

At Coinage we work with companies to build decentralized platforms at scale every day. When building layer 2 solutions and dApps on EOSIO we realized we kept creating the same shell scripts over and over again, and that there was no easy drop-in way to compile, deploy, and test our smart contracts. When looking at the field of tooling that’s already out there, everything we tried either put constraints on our project (for example, using one smart contract only), didn’t work with our preferred language, or supported Javascript but not Typescript.

We wanted a single tool that would get out of the way and just let us write test files next to our contracts. It also turned out to be incredibly helpful to provide a higher level interface so calling actions or get table rows didn’t involve remembering how EOSIO calls worked, but instead just let us call contract.table() or contract.action(), and assertRowsEqual() or assertMissingAuthority().


To keep reading, please go to the original article at:
eosio - Medium

Comments (No)

Leave a Reply