Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/cliffhall/fismo
- Owner: cliffhall
- License: bsd-3-clause
- Created: 2021-08-29T20:15:18.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-04-18T20:20:54.000Z (9 months ago)
- Last Synced: 2024-11-06T21:19:34.271Z (about 2 months ago)
- Topics: evm-blockchain, finite-state-machine, fsm, solidity, solidity-contracts, state-machine
- Language: JavaScript
- Homepage: https://fismo.xyz
- Size: 11.8 MB
- Stars: 9
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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)