Obsidian: A safer blockchain programming language
Obsidian is a new programming language for writing smart contracts, which are programs for blockchain platforms.
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.
PublicationsPlease see our working draft for a technical description of the language and a summary of the case studies we have done to date.
Obsidian is a project by: