temis

Inspiration

As developers, we always wish for a more productive and streamlined workflow. Knowing the state of dev-tooling in other chains, such as the robust frameworks available to Ethereum developers like Truffle, Hardhat, and Foundry, we thought about bringing something similar to the NEAR ecosystem.

Developer Experience

We aimed to improve the ease of writing integration tests on NEAR. Through leveraging official NEAR libraries, and also patching some libraries which were unmaintained, we managed to create a CLI utility to increase development productivity on NEAR.

The tool facilitates the most laborious parts of writing integration tests, by generating code for RPC clients, deploying the contracts, and running a sandbox. We hope that with better tools for such tasks, the developers can have better iteration loops and more test-oriented development culture.

Going forward

Our tool is based on official NEAR libraries. Some of them were unmaintained and as such we made forks. There's no time to reintegrate them into the original repositories during the hackathon, however, we do intend to put more effort into it so we can merge this code, helping more developers.

Challenges

We originally intended for a more comprehensive framework that also encompassed Aurora contracts, allowing a seamless experience for developing NEAR + Solidity. However, the current SDK for Aurora cross-contract calls uses an outdated version of near-workspaces, a key piece of our architecture. We tried to patch it but it proved to be too much work for the time we were given.

Learnings

I think the most important thing we realized during this project is that in open-source a little effort can go a long way if shared with the community, but at the same time there's a marketing problem. A lot of NEAR devs are unaware of tooling built by the community.

We hope this project can bring a bit of light into the awesome open-source work the community did, and teach better development practices to NEAR devs.

Built With

Share this project:

Updates

posted an update

The name "Temis" is the "portuguezation" of Themis, the ancient Greek deity symbolizing law, order, and fairness. In the realm of blockchain technology, where trust and order are paramount, Temis represents a pioneering SDK that grants builders a seamless single source of truth (their own code) during their development cycle, no back-and-forth edits required!

Log in or sign up for Devpost to join the conversation.