Flow Client Library (FCL)
Flow Client Library (FCL) enables applications to easily integrate with all FCL-compatible wallets and other services (e.g. (Comming Soon) profiles, private information, notifications). This offers developers a strong foundation to compose their apps with existing building blocks. It’s currently supported for browser applications, and will be extended to other platforms.
With FCL, you can:
- Integrate all compatible wallets without any custom code or code injection
- Authenticate users
- Query the Flow Blockchain
- Send transactions (e.g. initializing resources, sending assets, purchasing, etc.)
- Sign transactions through wallet integration avoiding key management
With FCL, you will eventually be able to:
- Personally sign data via FCL Compatible Wallets
- Request Additional User info like Emails
While it would be possible to create a Flow wallet as a browser plugin, we specifically created
@onflow/fcl so that web-based dapps don’t have to depend on browser
@onflow/fcl is able to connect browser-based dapps to a wallet service, or a wallet installed on your phone
or running on your local computer without introducing the security risks that can come from installing
a browser plugin.
- Last Updated: Mar 2nd 2021
- Stable: Yes
- Risk of Breaking Change: Low
The things that exists probably won't be changing much externally, we will be adding new functionality in the near future.
FCL also eliminates the need for dapp developers to write code to integrate their user's preferred wallet into
their application. Instead,
@onflow/fcl uses a secure discovery protocol that wallets can implement to connect
@onflow/fcl. The end result is dapps using
@onflow/fcl automatically integrate all compatible wallets without their developers
needing to write any custom code!
native desktop dapps and mobile dapps can connect to the same wallet software as browser dapps.
npm i -S @onflow/fcl @onflow/types
Learn to use
@onflow/fcl: Flow App Quickstart
Please note, that some code provided - e.g.
Object.fromEntries - will require Node version
v12.0.0 or higher.