Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/cliffhall/fismo

The Finite State Machine Protocol for EVM Blockchains
https://github.com/cliffhall/fismo

evm-blockchain finite-state-machine fsm solidity solidity-contracts state-machine

Last synced: 24 days ago
JSON representation

The Finite State Machine Protocol for EVM Blockchains

Awesome Lists containing this project

README

        

![Fismo](docs/images/fismo-logo.png)
# The Finite State Machine Protocol for EVM Blockchains
Fismo machines are a way of simulating processes, branching narratives, maps of places, or nearly any stateful thing you can imagine.

![Fismo](docs/images/fismo-machine.png)

_Yo dawg, we heard you like machines, so we put this machine in our state machine docs._ This is the machine that you will _clone_ and install your _own_ machines into. Practically _bristling_ with potential, amirite? Incidentally, It was created in collaboration with another machine, via [Midjourney](https://twitter.com/midjourney). ๐Ÿค–

## ๐Ÿ“– [Protocol Documentation](https://docs.fismo.xyz)
## ๐Ÿงช [Fismology Lab](https://github.com/cliffhall/Fismology)
## ๐Ÿ“‹ Status
### [![Node.js CI](https://github.com/cliffhall/Fismo/actions/workflows/node.js.yml/badge.svg)](https://github.com/cliffhall/Fismo/actions/workflows/node.js.yml) ![97%](https://progress-bar.dev/97/?title=Progress&width=100&color=0c0c0c)

Done or in progress are:
- โœ… Science! a functional [Deterministic Selector Proxy](docs/litepaper.md#deterministic-selector-proxy) implementation
- โœ… A robust [Finite State Machine](https://en.wikipedia.org/wiki/Finite-state_machine) protocol
- โœ… Minimal clones of Fismo for cheap deployments (~$45 vs ~$2300)!!!
- โœ… Initialization and access of machine-specific storage slots
- โœ… Clear and complete interface documentation and inline code comments
- โœ… Separation of concerns into inheritance tree for easy comprehension and maintenance
- โœ… Shared domain model for contract structures, enums, events, & constants
- โœ… Domain model expressed in JS for use in deployment and testing
- โœ… Domain model unit tests
- โœ… Shared Script modules for reuse in both deployment and testing
- โœ… Contract unit tests
- โœ… Working examples
- โœ… Example machine tests (multi-step operation of machine examples)
- โœ… CI build and test with Github Actions
- โœ… Contract interfaces documentation
- โœ… Developer setup and tasks documentation
- โœ… Developer environment configuration template
- โœ… High level architecture documentation
- โœ… Contextually filter actions on guard contracts
- โœ… Allow self-targeting transitions to inspect the action
- โœ… Optimize contract size
- โœ… Publish [NPM package](https://www.npmjs.com/package/fismo) with utilities and domain model for browser + node
- โœ… Publish documentation to [Fismo website](https://fismo.xyz)
- โœ… Fully permissive cloneable Operator for cheap deployments (~$45 vs ~$350)!!!
- โœ… Deploy to testnets (Rinkeby, Mumbai, Amoy)
- โœ… Add deployments to SDK
- โœ… Standalone demo project using SDK only
- ๐Ÿ‘‰ Deploy to mainnets (Homestead, Matic)

## [![Created by Futurescale](docs/images/created-by.png)](https://futurescale.com)