Git Product home page Git Product logo

flowser's Introduction


Flowser logo

Flowser

Easily start you local Flow network & inspect the state.



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.

๐Ÿ“– Contents

๐Ÿ‘‹ Get started

1. Clone flowser repository

git clone https://github.com/onflowser/flowser

2. Install dependencies

You need to have Docker and docker-compose installed on your system in order to run Flowser.

See: Docker installation instructions

3. Start Flowser

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.

4. Open in browser

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 ๐Ÿ„.

โœจ Features

Flow emulator

Configure and run managed flow emulator projects or start your own emulator instance on localhost.

Inspect blockchain

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

Dev wallet

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.

Rest API

Flowser backend exposes a Restfull API, which is defined in backend/openapi.json file that conforms to OpenAPI specification.

๐Ÿ’ก Key Concepts

Flowser is a tool that in its core helps you with managing the flow emulator and inspecting the current blockchain state.

Data sourcing

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.

Emulator management

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.

Development 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.

๐Ÿšง Caveats

fcl-dev-wallet support

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.

๐Ÿค Contributing

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.

โœŒ๏ธ Contributors

๐Ÿ™Œ Credits

flowser's People

Contributors

bartolomej avatar jgololicic avatar monikaxh avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.