Replies: 2 comments
-
Some thoughts:
The |
Beta Was this translation helpful? Give feedback.
-
I like the idea of having modular code in starknet.js and I don't see any problems in doing it except the maintenance cost would be high. I would suggest having |
Beta Was this translation helpful? Give feedback.
-
System Core: Defines the minimum functionalities of the system.
System Services: Extended functionalities from the system implemented via plugins.
Plugin Manager: Manage the plugin’s lifecycle. It handles the registration and loading of the plugins.
Plugin: Represents an independent functionality executed in the context of a system service that extends the system functionality. All the system plugins follow a standard interface.
Define Lifecycle and allow plugins to cross communicate true events.
The goal is to contain core functionality inside starknet.js without bloating it with: good to have, easy to use, extras, cli, 3th party libs etc, but to allow developers to use the core system and extend its functionality for general purpose or specific contract implementations with predefined tools.
Plugin development should be blueprinted (registration, injection, or event base)
Plugin developers should be able to extend interfaces.
Examples:
Vue Plugins: https://vuejs.org/guide/reusability/plugins.html
User should install it like ex:
npm i starknetjs @starknetjs/chainid @starknetjs/cli @starknetjs/easy-starknet @starknetjs/zeta-account-abstraction
This is a general idea, I don't have a specific implementation in mind but it could be explored.
Please give your feedback on this.
Beta Was this translation helpful? Give feedback.
All reactions