Awesome Open Source
Awesome Open Source

Coverage Status License NPM

Set Protocol: A Specification for Token Abstraction


Set Protocol is a specification for abstraction of higher order tokens on the ethereum blockchain written in the Solidity programming language. We use Truffle as a development environment for compiling, testing, and deploying our contracts. See the whitepaper for more details about Set Protocol.

More details about our contract architecture and deployed contracts can also be found in our wiki.


We highly encourage participation from the community to help shape the development of Set. If you are interested in developing on top of Set Protocol or have any questions, please ping us on Telegram.


For legacy users, our audited V1 contracts which can be found here.


  1. Docker Set up Firstly, you need to install Docker. The easiest way is to follow the Instructions on

You need to pull the docker image that you want to use by using the following command:

docker pull ethereum/solc:0.5.7

If you wish not to set up docker, you can turn off the docker: true flag in truffle.js

  1. Run yarn install
yarn install
  1. Run an ethereum chain on a separate terminal window
yarn chain
  1. Run unit tests
yarn test

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
typescript (11,619
ethereum (745
protocol (199
smart-contracts (179
erc20 (53