Skip to content

Provider Development

David Ellams edited this page May 8, 2023 · 13 revisions

We need your help to scale up The OASIS, it is designed to connect and integrate everything to everything including all of WEB2, WEB3, IoT and beyond! But the true power of The OASIS really starts to shine as more and more providers are integrated from all stacks, networks, platforms, API's, protocols, etc. It doesn't matter what it is (website, cloud, database, blockchain, IoT, washing machine, TV, car, holochain, IPFS, activitypub, etc), as long as it can read and write data it can be connected to The OASIS! The whole is greater than the sum of the parts!

Each provider must contain a main class that inherits from OASISStorageBase and implements the IOASISStorageProvider & IOASISNET interfaces. The implementation of these interfaces is to write simple CRUD (Create, Read, Update, Delete) operations for types (models / classes) that are inherited from IAvatar or IHolon, by the data provider (SQL / NoSQL / Blockchain / Some other storage).

Please look at the MongoDBOASIS Provider as a good example of how to implement it for a DB Storage Provider, it can also be adjusted for Blockchain providers, etc such as the SolanaOASIS, EthereumOASIS or EOSOASIS Provider.

For Blockchain providers you need to also implement the IOASISBlockchainStorageProvider, IOASISNFTProvider & IOASISSmartContractProvider interfaces.

For Database providers you need to also implement the IOASISDBStorageProvider interface.

If your provider also provides local storage functionality then it needs to also implement the IOASISLocalStorageProvider interface.

If your provider allows native code generation used by the STAR ODK Low Code Generator then it will also need to implement the IOASISSuperStar interface.

We highly recommend you start by taking a copy of the OASIS Provider Template and then edit to suit your needs... Even quicker and easier to take a copy of the OASIS Provider Template Project and then adapt to suit your needs... Simply replace all occurrences of ProviderName with the name of your provider, simples! ;-)

Any questions, need additional help or have feedback, we would love to hear from you! Please reach out to us on our telegram group.