FIO SDK - Requirements & recommended architecture
This document tracks the requirements for the next gen FIO SDK, a discussion of possible development paths, and the recommended architecture.
Requirements
Critical
This requirements are critical must be met.
Ease of integration - Integrators must be able to install the sdk and get up and running in a short amount of time
Limited complexity - The sdk must be simple to understand for developers
Limited / standard libraries - The sdk must include as few 3rd party libraries as possible and work with standard libraries as much as possible
Important
These requirements are important, but not critical.
Leverage existing open source eosio-based libraries (e.g., eosjs, eosio-core)
Not important
These requirements are NOT important.
Backward compatibility with existing SDK (it is assumed the new SDK will contain breaking changes)
Alternatives
custom sdk
Use code from existing open source projects to develop a custom sdk.
eosjs + fiosdk
Use the eosjs library and build additional FIO sdk functionality on top of this core library. This is similar to the current SDK.
eosio-core / Wallet+
Work with the Wallet+ group as they build out the EOS Network Foundation (ENF) technologies, one of which is an updated SDK.
Features and Tools
The following tools and libraries should be considered for integration and compatibility:
Tool / Library | Developer | Description | Link |
---|---|---|---|
eosio-core | Greymass | JavaScript library for working with EOSIO blockchains | |
eosio-signing-request (ESR) | Greymass | The ESR protocol allows for an application (dapp) to generate signature requests (transactions) which can then be passed to signers (wallets) for signature creation. | |
anchor-link | Greymass | Signature provider for EOSIO chains built on top of EOSIO Signing Requests (EEP-7) | |
universal-authenticator-library | EOSIO | Universal Authenticator Library (UAL) is a single API to support all eosio authentication providers. | |
ual-anchor | Greymass | Gives developers the ability to request transaction signatures through Anchor using the common UAL API. | |
Trust EVM | EOS Network Foundation (ENF) | EOS EVM (EVM contract compatibility) | |
Metamask on EOS | EOS Argentina | Ethereum contract that interacts with EOSIO chain (maps ETH addresses to EOSIO accounts) Relates to EOS EVM | |
|
|
|
|
|
|
|
|