Obsidian: A safer blockchain programming language
Obsidian is a new programming language for writing smart contracts, which are programs for blockchain platforms.
Obsidian currently works on the Hyperledger Fabric platform. Thanks to support by the Ethereum Foundation, we are working on adding support for the Ethereum blockchain platform as well.
Obsidian includes two main innovations relative to current languages for these platforms:
- State-oriented programming lets you declare and transition among states explicitly. Our research suggests that a large fraction of blockchain programs are organized around a high-level state machine.
- Linear types ensure that important resources managed by your programs are managed correctly. No more accidentally making money vanish into thin air; the compiler will keep you safe.
Obsidian is currently under development and is not ready for general use. To learn about Obsidian, follow the Obsidian tutorial or watch the demo video below, which summarizes a usability study we conducted comparing Obsidian to Solidity.
Obsidian is a project by:
- Michael Coblenz
- Jonathan Aldrich
- Brad Myers
- Joshua Sunshine
- Ian Voysey
- Reed Oei
- Gauri Kambhatla
- Miles Baker
- Celeste Barnaby
- Tyler Etzel
- Paulette Koronkevich
- Jenna Wise