Aug 5, 20229 min

WEB4 OASIS API v2.3.1 Released With New Improved Data API & LOTS More!

Greetings Friends,

As mentioned in the previous blog post, OASIS API v2.3.0 was also released on 22/07/22 as well as HoloNET RSM.

This release features a number of improvements:

  • Improved Data API.

  • Bug fixes.

  • Improved OASIS Engine allowing the OASIS Engine settings to be fully configurable per API call.

  • OASIS Engine settings can now be configured per API call to be returned to the caller.

  • Various other improvements.

  • Detailed Documentation (covers what is below).

It can be found here: https://api.oasisplatform.world/

As a recap, we recently demoed the Avatar & Karma API's and soon we will demo the new Data API, Keys/Wallet API, SEEDS API, Provider API, Web UI & then do a tech deep dive. We are working on multiple things at the same time such a WEB5 STAR ODK, Holochain integrations, documentation, building new teams/partnerships, designing and planning a number of sites/apps (OAPPs) to be built on the OASIS API as use cases and the OASIS eco-system launch apps & lots more so please bare with us, we will get there in the end! ;-) Thank you! :)

The Data API

The Data API now allows the following optional parameters to be passed in:

  • LoadChildren - Defaults to true, if this is set then the call will load all child holons.

  • Recursive - Defaults to true, if LoadChildren is true and this is set then the call will load all child holons recursively, if this is false, it will only load the first child.

  • MaxChildDepth - Defaults to 0, if LoadChildren & Recursive are true then this species how many levels down to load the child holons. If it is 0 (default) then it will load all levels.

  • ContinueOnError - Defaults to true, if LoadChildren & Recursive are true and this is set to true then if an error occurs loading a child holon, it will continue to load the next child holon, if it is false, it will return an error and the holons it managed to load up to that point.

  • Version - Defaults to 0 (will load the latest version) - The version of holon and child holons to load.

These parameters apply to the following API endpoints:

  • LoadHolon

  • LoadAllHolons

  • LoadHolonsForParent

LoadAllHolons and LoadHolonsForParent allow the HolonType to be passed in (defaults to All).

The same parameters also apply to SaveHolon except instead of LoadChildren it is SaveChildren and there is no Version parameter.

There is also a DeleteHolon API endpoint.

For each of the endpoints above, you can either use a querystring to specify the parameters or the Form/Body.

OASIS Engine Settings

For the OASIS Engine parameters you can add these optional parameters to ANY OASIS API call/endpoint:

  • ProviderType - Allows you to override the provider for this API call (overriding the default OASIS behavior that will use the providers in the AutoFailOverProviders & AutoLoadBalanceProviders lists to automatically select the best/fastest provider for you in your local area and then finding the next fastest one if that network or node goes down). Remember the OASIS API is an abstraction layer over the entire internet and all supported providers, a network of networks so it is not reliant on any one network resulting in the fastest performance possible in your area and zero downtime along with auto-replication/gossip protocol to all other providers in the AutoReplicationProviders list.

  • SetGlobally - If this is set to true then whatever settings are passed in for this call will apply for all future calls (until they are overrides again). If false, then they will apply only for this call.

  • AutoFailOverMode - Can be "ON", "OFF" or "DEFAULT". If "DEFAULT" it will use the whatever setting is specified in the OASISDNA.json file in the root of the ONODE that you are making calls to.

  • AutoReplicationMode - Same as above.

  • AutoLoadBalanceMode - Same as above.

  • AutoFailOverProviders - Comma delimited list of the providers to be used or pass in "DEFAULT" to use the list defined in the OASISDNA.json file in the root of the ONODE that you are making calls to.

  • AutoReplicationProviders - Same as above.

  • AutoLoadBalanceProviders - Same as above.

  • WaitForAutoReplicationResult - If true it will wait for the auto-replication to complete before returning or if false it will return immediately for that API call.

  • ShowDetailedSettings - If this is set to true then the API call will return additional detailed information (see below).

What ShowDetailedSettings returns:

  • AutoFailOverProviders - list of the providers that will be used for auto-fail over (in priority order).

  • AutoReplicationProviders - list of the providers that will be used for auto-replication (in priority order).

  • AutoLoadBalanceProviders - list of the providers that will be used for auto-load balancing.

This is on top of the additional new config settings returned in every API call:

  • AutoLoadBalanceEnabled - Whether AutoLoadBalance is enabled/disabled for this call.

  • AutoFailOverEnabled - Whether AutoFailOver is enabled/disabled for this call.

  • AutoReplicationEnabled - Whether AutoReplication is enabled/disabled for this call.

  • WaitForAutoReplicationResult - If this is true then the API will wait until the auto replication has completed before returning, if false then it will return immediately and carry on the auto-replication in the background (default behavior).

  • CurrentOASISProvider - The current provider the OASIS used to for the API call.

  • OASISVersion - The version of the OASIS and environment so currently this is v2.3.1 LIVE.

All of the above has always been under the hood for the OASIS Architecture but with this release, it has now been exposed to each API endpoint giving the developer/caller the ability to fully customise the OASIS to behave exactly as they like for that call unleashing the full power of the OASIS API. In future versions these settings will be able to be specified and persisted per individual avatar per API call.

An example of a JSON request looks like this:

https://api.oasisplatform.world/api/data/load-holon

{
 
"id": "188e0e27-3af2-478f-af86-030c56a42edb",
 
"LoadChildren": true,
 
"Recursive": true,
 
"MaxChildDepth" : 5,
 
"ContinueOnError" : true,
 
"Version": 1,
 
"ProviderType": "MongoDBOASIS",
 
"SetGlobally": true,
 
"ShowDetailedSettings": true,
 
"AutoFailOverEnabled": "true",
 
"AutoReplicationEnabled": "true",
 
"AutoLoadBalanceEnabled": "true",


 
"AutoFailOverProviders": "MongoDBOASIS, LocalFileOASIS, SQLLiteDBOASIS, Neo4jOASIS, IPFSOASIS, HoloOASIS, TelosOASIS, EOSIOOASIS, EthereumOASIS, ThreeFoldOASIS",


 
"AutoReplicationProviders": "MongoDBOASIS, HoloOASIS, SQLLiteDBOASIS, IPFSOASIS",


 
"AutoLoadBalanceProviders": "MongoDBOASIS, LocalFileOASIS, SQLLiteDBOASIS, Neo4jOASIS,

IPFSOASIS, HoloOASIS, TelosOASIS, EOSIOOASIS, EthereumOASIS, ThreeFoldOASIS",


 
"WaitForAutoReplicationResult": false
 
}

And the data returned looks like this:

{
 
"showDetailedSettings": true,
 
"result": {
 
"resultsCount": 0,
 
"errorCount": 0,
 
"warningCount": 0,
 
"savedCount": 0,
 
"loadedCount": 0,
 
"hasAnyHolonsChanged": false,
 
"isError": false,
 
"isWarning": false,
 
"isSaved": false,
 
"isLoaded": true,
 
"message": "",
 
"result": {
 
"parentOmniverseId": "00000000-0000-0000-0000-000000000000",
 
"parentMultiverseId": "00000000-0000-0000-0000-000000000000",
 
"parentUniverseId": "00000000-0000-0000-0000-000000000000",
 
"parentDimensionId": "00000000-0000-0000-0000-000000000000",
 
"dimensionLevel": 0,
 
"subDimensionLevel": 0,
 
"parentGalaxyClusterId": "00000000-0000-0000-0000-000000000000",
 
"parentGalaxyId": "00000000-0000-0000-0000-000000000000",
 
"parentSolarSystemId": "00000000-0000-0000-0000-000000000000",
 
"parentGreatGrandSuperStarId": "00000000-0000-0000-0000-000000000000",
 
"parentGrandSuperStarId": "00000000-0000-0000-0000-000000000000",
 
"parentSuperStarId": "00000000-0000-0000-0000-000000000000",
 
"parentStarId": "00000000-0000-0000-0000-000000000000",
 
"parentPlanetId": "00000000-0000-0000-0000-000000000000",
 
"parentMoonId": "00000000-0000-0000-0000-000000000000",
 
"parentCelestialSpaceId": "00000000-0000-0000-0000-000000000000",
 
"parentCelestialBodyId": "00000000-0000-0000-0000-000000000000",
 
"parentZomeId": "00000000-0000-0000-0000-000000000000",
 
"parentHolonId": "00000000-0000-0000-0000-000000000000",
 
"original": {
 
"parentOmniverseId": "00000000-0000-0000-0000-000000000000",
 
"parentMultiverseId": "00000000-0000-0000-0000-000000000000",
 
"parentUniverseId": "00000000-0000-0000-0000-000000000000",
 
"parentDimensionId": "00000000-0000-0000-0000-000000000000",
 
"dimensionLevel": 0,
 
"subDimensionLevel": 0,
 
"parentGalaxyClusterId": "00000000-0000-0000-0000-000000000000",
 
"parentGalaxyId": "00000000-0000-0000-0000-000000000000",
 
"parentSolarSystemId": "00000000-0000-0000-0000-000000000000",
 
"parentGreatGrandSuperStarId": "00000000-0000-0000-0000-000000000000",
 
"parentGrandSuperStarId": "00000000-0000-0000-0000-000000000000",
 
"parentSuperStarId": "00000000-0000-0000-0000-000000000000",
 
"parentStarId": "00000000-0000-0000-0000-000000000000",
 
"parentPlanetId": "00000000-0000-0000-0000-000000000000",
 
"parentMoonId": "00000000-0000-0000-0000-000000000000",
 
"parentCelestialSpaceId": "00000000-0000-0000-0000-000000000000",
 
"parentCelestialBodyId": "00000000-0000-0000-0000-000000000000",
 
"parentZomeId": "00000000-0000-0000-0000-000000000000",
 
"parentHolonId": "00000000-0000-0000-0000-000000000000"
 
},
 
"id": "188e0e27-3af2-478f-af86-030c56a42edb",
 
"name": "The Justice League Accademy",
 
"providerUniqueStorageKey": {
 
"MongoDBOASIS": "62bbbba887f39873fc08333b"
 
},
 
"providerMetaData": {},
 
"metaData": {},
 
"isNewHolon": false,
 
"isChanged": true,
 
"isSaving": false,
 
"holonType": 18,
 
"createdByAvatarId": "810cf9fc-5750-4d3e-beb0-f22de2c8aba7",
 
"createdDate": "2022-06-29T02:40:40.322Z",
 
"modifiedByAvatarId": "00000000-0000-0000-0000-000000000000",
 
"modifiedDate": "0001-01-01T00:00:00Z",
 
"deletedByAvatarId": "00000000-0000-0000-0000-000000000000",
 
"deletedDate": "0001-01-01T00:00:00Z",
 
"version": 1,
 
"versionId": "00000000-0000-0000-0000-000000000000",
 
"previousVersionId": "00000000-0000-0000-0000-000000000000",
 
"previousVersionProviderUniqueStorageKey": {},
 
"isActive": true,
 
"createdProviderType": {
 
"value": 18,
 
"name": "MongoDBOASIS"
 
}
 
}
 
},
 
"oasisVersion": "v2.3.0 LIVE",
 
"autoLoadBalanceEnabled": true,
 
"autoFailOverEnabled": true,
 
"autoReplicationEnabled": false,
 
"autoLoadBalanceProviders": "MongoDBOASIS, LocalFileOASIS, SQLLiteDBOASIS, Neo4jOASIS, IPFSOASIS, HoloOASIS, TelosOASIS, EOSIOOASIS, EthereumOASIS & ThreeFoldOASIS",
 
"autoFailOverProviders": "MongoDBOASIS, LocalFileOASIS, SQLLiteDBOASIS, Neo4jOASIS, IPFSOASIS, HoloOASIS, TelosOASIS, EOSIOOASIS, EthereumOASIS & ThreeFoldOASIS",
 
"autoReplicationProviders": "MongoDBOASIS, HoloOASIS, SQLLiteDBOASIS & IPFSOASIS",
 
"currentOASISProvider": "MongoDBOASIS",
 
"version": "1.1",
 
"content": {
 
"headers": []
 
},
 
"statusCode": 200,
 
"reasonPhrase": "OK",
 
"headers": [],
 
"trailingHeaders": [],
 
"isSuccessStatusCode": true
 
}

We will go over these in more detail in the upcoming demo video...

These settings (except LoadChildren/SaveChildren, Recursive, MaxChildDepth, ContinueOnError & Version) also apply to all other API's such as the Avatar API, Karma API, Keys/Wallets API, SEEDS API, Providers API etc.

OASIS API v2.3.1

v2.3.1 was a very minor release that corrected some minor typeos in the new swagger documentation and also updated the OASIS API RELEASE HISTORY as well as moving it from a simple plain text file to a .md (MarkDown) file so it now has better formatting and links to the commits made for that release, check it out here.

WEB 5 STAR ODK Omniverse Progress

The rest of the demo videos will be released shortly (this month for sure!), we have been very busy updating all the documentation, forming new teams/partnerships, etc, updating our Dev Plan/Roadmap (will be released soon), working on Holochain integrations and of course WEB5 STAR ODK Omniverse, lots of progress has been made and won't be long before we can also demo this at long last! ;-) We can now generate full OAPP's (Moons, Planets, Stars, etc) that contain a zome (module) and multiple holons (data objects) (multi-zome support coming soon) that can work in standalone apps/sites/games etc outside of STAR ODK.

Demo Videos Coming Soon

As mentioned in the previous blog post, we have also been delaying the demo videos until we have Holochain integrated but if that takes too long (Holochain is still not stable and has regular breaking changes) then we will just go ahead and demo without Holochain and then have to demo again after...

OASIS Ecosystem & Javascript NPM Package

We are now building a number of OAPP's (websites and apps) on the OASIS API to be included as our launch apps for the OASIS eco-system later this year, they will also serve as use cases and examples of what the OASIS can do and how to build on it. They are being built on the OASIS API Javascript NPM package mentioned in the previous blog post:

https://github.com/NextGenSoftwareUK/OASIS-API-Javascipt-Package

https://www.npmjs.com/package/oasis-api (as you can see, this was actually released 2 months ago)

We will officially announce this soon.

Plug N Play OASIS Web Components/Modules For Devs & End Users

Some are also making use of our new React Generic Re-usable Components, which are part of the new OASIS Component Library we will release later this year (along with the OASIS Web Portal). We are also building other sites on Angular & Vue to give examples of how to build on them along with generic re-usable components. This will allow devs and even end users to pick-n-mix and plug-n-play the OASIS Components into existing or new sites/apps making it much quicker to create and saves you having to build your own UI's. They will also be skinnable (able to set your own theme/look & feel).

We also plan to create generic off the shelf pre-built apps/websites (OAPPs) that just work straight away out of the box that will work on a subscription basis (monthly or annual). You just simply choose which modules you wish to use, configure them, set your theme and your good to go! :)

Welcome To Phase 2 (Time To Start Building On The OASIS API!)

Up to now we have been mainly focused on building a rock solid stable robust performant foundation for the OASIS Architecture as well as the dev tooling to allow devs to jump in and get building OAPPs. Now that phase is wrapping up, we are moving onto phase 2 where we start building out the ecosystem and end user experience (websites, apps, games, services, etc). We hope Our World MVP will also be done by the end of the year...

So lot's of exciting things happening, so now is the time to start building on the OASIS API. If you have a website or app you would like to be built please get in touch and we will be happy to help. We already have a number of clients and OAPP's commissioned (10+), if you jump in now you will get:

- Discounts.

- Special OASIS Eco-System Launch badge added to your OAPP which will be visible to all in search results, etc.

- Your OAPP will also be ranked highest in search results and be featured in the Spotlight section.

- 777 Karma Points For Your Avatar.

Benefits Of Building On The WEB4 OASIS API:

  • Integrate any WEB2 or WEB3 tech into your (web)app without having to learn or worry about new tech stacks/languages (the OASIS API hides all the complexity away so you can focus on creating your dream app!).

  • No need to worry about how different blockchains or WEB2 and WEB3 can talk and integrate with each other, the OASIS handles all this for you!

  • Future prove so when any new language/tech comes out such as Ethereum2 etc, these will be automatically added to the OASIS API for FREE, you will have FREE upgrades for life!

  • WEB5 ready when it is released later this year...

Check out more info below:
 

 
The Power Of The OASIS API
 
What Is WEB4 & WEB5 Really?
 
First Production Release Of The WEB4 OASIS API
 
Annoucing WEB5 STAR ODK/HDK/COSMIC
 
STAR ODK/HDK/COSMIC/OASIS API/Our World Update
 
Main WEB4 OASIS API & WEB5 STAR Repo

Updated Documentation

In addition to above, the documentation for all our repos has been updated along with our WIKI, check them out here:

https://github.com/NextGenSoftwareUK/Our-World-OASIS-API-HoloNET-HoloUnity-And-.NET-HDK

https://github.com/NextGenSoftwareUK/OASIS-API-Javascipt-Package

https://github.com/NextGenSoftwareUK/OASIS-API-Unity-Package

https://github.com/NextGenSoftwareUK/Our-World-Smartphone-Prototype-AR

https://github.com/NextGenSoftwareUK/STAR-OASIS-Omniverse-Unity-UI

https://github.com/NextGenSoftwareUK/holochain-client-csharp

https://github.com/NextGenSoftwareUK/Our-World-OASIS-API-HoloNET-HoloUnity-And-.NET-HDK/wiki

More documentation will be updated soon including detailed diagrams for STAR ODK & OASIS Architecture.

Watch this space...

In Love, Light & Hope,

The Our World Tribe.

Sites

http://www.ourworldthegame.com

http://www.nextgensoftware.co.uk

http://www.yoga4autism.com

https://www.thejusticeleagueaccademy.icu

NFT Store

Social

Facebook

Twitter

YouTube

Discord

Hylo

Telegram General Chat

Telegram Announcements

Telegram Tech Updates

Telegram OASIS API Hackalongs

Open Source Code

The OASIS API/HoloNET/.NET HDK

Our World Unity Smartphone Geolocation AR Prototype

Blog/Forum

http://www.ourworldthegame.com/blog

http://www.ourworldthegame.com/forum

NextGen Developer Training Programmes

NextGen Developer Training Programme

Junior NextGen Developer Training Programme

Business/Dev Plan/Roadmap

Executive Summary

Business Plan Summary

Business Plan Detailed

Financials

Pitch Deck

Dev Plan/Roadmap

Funding

https://www.gofundme.com/ourworldthegame

https://www.patreon.com/davidellams

Misc

Join The Our World Tribe (Dev Requirements)

Mission/Summary

The POWER Of The OASIS API

OASIS API SEEDS API Integration Proposal

Our World & Game Of SEEDS Integration Proposal

SEEDS Alliance Proposal

SEEDS Campaign Proposal

Holochain Forum

Key Videos

Our World Introduction

OASIS API DEMO With David Ellams (James Halliday) NO SONG

Latest prototype for the Our World Smartphone version... :)

Founders Introduction To Our World May 2017 (Remastered Nov 2017)

Our World Smartphone Prototype AR Mode Part 1

Our World Smartphone Prototype AR Mode Part 2

Our World - Smartphone Version Prototype In AR Mode

Our World Smartphone Version Preview

Games Without Borders Ep 03 ft David Ellams from Our World

AWAKEN DREAM SYNERGY DREAM # 19 Our World & The OASIS API By David Ellams - (Presentation Only)

Interview Between Moving On TV & Our World Founder David Ellams - Part 1

Interview Between Moving On TV & Our World Founder David Ellams - Part 2

Our World Interviews With David Atkinson, Commercial Director of Holochain – Part 1

Our World Interviews With David Atkinson, Commercial Director of Holochain – Part 2

ThreeFold, Our World, Protocol Love, Soulfie API Meeting

    134
    0