4 min read - Posted 21 May 19

Sandcastle, our Latest R&D Pre-Alpha Release, Brings SQL to Ethereum Smart Contracts

Sandcastle R&D

This article was written by PegaSys Co-Founder, developer, and researcher, Shahan Khatchadourian, Ph.D.

Millions of SQL developers are now Ethereum smart contract developers.

As someone with a passion for bridging database and blockchain technologies, I’ve spent a lot of time thinking about blockchains as different forms of databases. It’s still the case that a blockchain is not a database, yet. However, Sandcastle, an Ethereum SQL smart contract language, helps bridge that divide.

A Sandcastle pre-alpha web service that translates SQL into Solidity, and which works on all existing clients (i.e., no changes are needed), is now available as a Remix plugin.

Try the Sandcastle pre-alpha now! Feedback is welcome.

Sandcastle improves Ethereum’s data management capabilities by provisioning an on-chain relational database that supports tables, (sub-)queries, aggregation, updates, triggers, and indexes. Smart contracts based on relational semantics can be automatically optimized for transaction cost, performance, scalability and security across blockchains and databases.

Sandcastle operates by translating each table into a smart contract that contains rows of data structured according to the table’s schema. Queries, updates, triggers, and transactions are smart contract methods that execute against these tables. Our tool hides the complexity of joining multiple tables, computing aggregations, using indexes whenever possible, and using Solidity data structures effectively. The architecture diagram below shows that Sandcastle fits into existing development processes because the generated code can be integrated with pre-existing code and compiled using the standard solc-based toolchain.

article image

Why did we build Sandcastle?

Enterprises need to manage and understand complex data in order to make informed business decisions. But committing to that effort will first require strategies to mitigate the associated costs and risks. One way to reduce risk is to improve blockchain’s data management capabilities. One way to reduce costs is to rely on the expertise of the millions of existing SQL developers by turning them into Ethereum smart contract developers.

Enterprises will benefit from the (re-)use of SQL as a way to preserve application logic across private and public Ethereum blockchains and databases, while optimizing for each. For example, Sandcastle’s optimizer will be able to take SQL code and generate smart contracts that minimize transaction costs in public chains, and can also generate smart contracts that perform identical application logic while maximizing performance in private chains. Developers won’t have to spend any time hand-coding brittle optimizations that limit agility and innovation. One of the most promising features is the ability to integrate existing enterprise data to model and simulate transactions and processes. We will share more about these exciting features soon.

Sandcastle is one of several steps we’re taking to help advance blockchain data management. If you’re an enterprise that is familiar with databases, focused on building Ethereum applications (i.e., not necessarily low-level), and willing to experiment with Sandcastle, [do get in touch](mailto: This is an opportunity to give your input to our work blending database and blockchain paradigms.

We thank Eric Kellstrand for their contributions, and Kate Hardy, Horacio Mijail Anton Quiles and Gina Rubino for their reviews.

Want to join the team? PegaSys is hiring! Check out our list of open roles.

To keep up to date on PegaSys’ progress, check out our GitHub, follow us on Twitter and sign up for our mailing list below.

Sign Up For PegaSys Updates
The post Sandcastle, our Latest R&D Pre-Alpha Release, Brings SQL to Ethereum Smart Contracts appeared first on PegaSys.

Created with Sketch.Content is"CC-BY-SA 4.0" licensed
Article On-chain
Article Author


Ethereum for the Enterprise




Related Articles

This article was originally published on on November 1st, 2018. Our third Startup Bonuses Webinar aired on October 31, 2018, featuring BlockTEST’s developer team, who discussed the basics of blockchain, introduced the purpose of smart contracts, and guided new blockchain developers towards deploying their first smart contract. BlockTEST developer Justin Littman launched the webinar by introducing the core theory of blockchain by comparing its pros and cons with those of the more tr

Understanding smart contract compilation and deployment

As discussed earlier in the series, when developing dApps, and especially writing smart contracts, there are many repetitive tasks you will undertake. Such as compiling source code, generating ABIs, testing, and deployment. Development frameworks hide the complexity of these tasks and enable you as a developer to focus on developing your dApp/idea. Before we take a look at these frameworks such as truffle, embark and populous, we’re going to take a detour and have a look at the tasks performed a

Josh Cassidy

02 May 19