Flowser is a convenient development tool for Flow blockchain. It does all the heavy work of managing the Flow emulator, inspecting the current blockchain state and interacting with the network for you!
See features and key concepts sections for a more in-depth overview of Flowser's core concepts and components.
For a quick walk-through of the tool itself, see FlipFest video demo or our demo from Flow Office Hours.
git clone https://github.com/onflowser/flowser
You need to have Docker and docker-compose installed on your system in order to run Flowser.
See: Docker installation instructions
This command will start Flowser with default configuration (recommended).
bash run.sh start
# or use npm if you have node installed
npm run prod:start
If flowser started successfully, you should see the bellow output:
Creating frontend-prod ... done
Creating database ... done
Creating backend-prod ... done
Creating dev-wallet ... done
If you encounter any issues during app build or container start, check out our Troubleshooting Guide.
After flowser had successfully started, you can open the app in your favourite browser at http://localhost:6060 ๐ฅณ.
Good job, you can now start flowsing around the flow blockchain ๐.
Configure and run managed flow emulator projects or start your own emulator instance on localhost.
Flowser allows you to inspect the current state of the flow blockchain. Every new change is automatically detected and displayed in the UI.
You can view & search thought the following objects:
- logs
- accounts
- blocks
- transactions
- contracts
- events
Flowser natively supports fcl-dev-wallet tool for developer convenience. You can log in using a default service account and send arbitrary transaction directly within flowser UI.
Flowser backend exposes a Restfull API, which is defined in backend/openapi.json
file that conforms to OpenAPI specification.
Flowser is a tool that in its core helps you with managing the flow emulator and inspecting the current blockchain state.
All the interaction between Flowser and Flow blockchain is handled by the Flow client library (fcl).
Fcl provides a single shared interface for interacting with any type of Flow blockchain network (testnet, mainnet, emulator,...). Because of that, Flowser has the ability to aggregate data from any Flow data source and currently supports Testnet and local Emulator blockchains.
See the architectural diagram in development guides to learn more.
User of Flowser doesn't need to know what the flow emulator is or that it even exists, because Flowser handles the creation and management of emulator networks by default.
If the user however does want to run and manage flow emulator by himself (from CLI), he/she has the option to do that. Note that this is not the preferred way to use Flowser, because of this issue with fcl-dev-wallet.
Usually, if you wanted an easy way to interact with the Flow emulator, you would need to run a separate fcl-dev-wallet service manually.
Flowser provides integration with Flow's development wallet out of the box. That way users can conveniently interact with the Flow blockchain without leaving Flowser.
Flowser currently supports fcl-dev-wallet integration only for "custom projects", where flow emulator is managed (started/stopped) by the flowser itself.
We recommend that you do not run flow emulator by yourself and instead create a custom emulator configuration through the flowser app.
If you do want to run the emulator by yourself (from a shell with flow emulator
command), please leave a comment or a "thumbs up" on this issue.
If you have a feature suggestion/request, first go look through the existing issues and if you can't find a related feature create a new one.
See Development Guides for more info on setting up development environment, or Architecture Overview for info about high level system architecture.