Neos-Metaverse / NeosPublic

A public issue/wiki only repository for the NeosVR project
195 stars 9 forks source link

Web 3 Support #3459

Open retiredaccountretiredaccountretired opened 2 years ago

retiredaccountretiredaccountretired commented 2 years ago

Is your feature request related to a problem? Please describe.

I understand we aren't going to be getting offical NFTs until climate concerns are met. While there are quite a few different choices for NFTs that have very low impact on the enviroment, this isn't regarding offical NFT support or the marketplace.

This is about creating LogiX support for accessing Web 3 in the broadscope of things, and what we would need for a community within Neos to build off of Web 3. I'm going to list them out in bullet point below.

These are things that maybe should come with the Neos Marketplace, as the storage of such important content/business assets of the metaverse should be more in control for creators.

I can truly see an open platform for Web 3 in Neos that could allow a lot of people to create amazing content, worlds, and events; all without needing a full Neos Marketplace, or specialized metadata for files stored in NFTs designed by the Neos Team.

Put the load of the Web 3 future within the Pluriverse and Neos on us as a community; some (Zyzyl, sirkitree) of us are already creating tools to view the Blockchain and Web3 within Neos, but any support in the form of LogiX nodes could help a lot of these projects to move forward.

-- side note Lastly; regarding the concern of the evils Web3 could bring, I recommend that Neos Team joins the https://www.vrblockchainalliance.org/ The VR Blockchain Alliance already made a few policies that could help with interoperability to other metaverses; like a true Oasis experience.

They also touch on ethical advertising for VR, which is something that I know we will need in the future if we start getting more start-ups focusing on Metaverse content creation, Metaverse marketing, and general Metaverse experiences.

To be able to pay for actors or other type of employees, we may need some form of advertisement to cover wages... which is something we can already make within Neos.

Relevant issues

No response

Describe the solution you'd like

A Neos Metaverse that supports true interoperability for objects sold, and crossing between metaverses.

Describe alternatives you've considered

A Neos Metaverse that at least supports Web3 access within a Etherum Wallet, or Solana.

See Solana's energy usage report on it as an alternative. https://solana.com/news/solana-energy-usage-report-november-2021

Additional context

No response

Psychpsyo commented 2 years ago

I feel like there is multiple things being asked here, that could very well be separate issues. One being decentralized file storage, another one being access to Ethereum wallet contents.

On that second one, I feel like it'd be outside the scope of logix. Stuff like that can be accessed through regular APIs, which logix can already interact with. (Though with some difficulty, which would be vastly improved by having collections and json support) Improving that would also make interactions with a lot of other web technologies more streamlined instead of benefiting this one, specific use case.

I'm also not sure if I read this right, but I don't like the idea of supporting a specific chain. I feel like that should instead be replaced by the technical requirements to support any chain / interface with any wallet's API.

Lastly, if this should include any form of authorization through logix (going beyond just viewing these assets), that sounds very risky, considering the current shared nature of a Neos session and probably requires significant security considerations.

Zyzyl commented 2 years ago

I tend to agree that this should eventually spawn a bunch of more targetted feature requests, but this might generate some good discussion. To give some context on what I'm doing in this area - I've been working on importing image NFT assets by using the OpenSea API. This doesn't strictly require anything new. However, I expect that parsing the JSON responses that API (and many others too) send back would be a lot easier after we get collections support in LogiX (see https://github.com/Neos-Metaverse/NeosPublic/issues/256 and https://github.com/Neos-Metaverse/NeosPublic/issues/221).

I have also looked into trying to load 3D model NFTs, but that doesn't seem as amenable to just writing the URI to a StaticMesh component (compared to doing the same with an image URI and a StaticTexture2D). A nicer workflow for those would be great (unless I'm just missing something).

It sounds like people are used to being able to input their Ethereum address and then simply access asset NFTs they hold.That would be nice, although for security reasons I suspect that would need to live in userspace, rather than worldspace. I think I remeber Karel saying that people would be able to interact with the Neos store using an external wallet - for that, integrating something like Wallet Connect https://walletconnect.com/ might be one approach.

I guess users might also want to set up worlds / events which could be gated dependent on possession of an Ethereum address which held specific tokens. For that I guess there would need to be some secure method of verifying one has access to a wallet (signing a message?) in worldspace. Interested to hear more from the team on these topics when they're ready to think about implementations.

retiredaccountretiredaccountretired commented 2 years ago

Lastly, if this should include any form of authorization through logix (going beyond just viewing these assets), that sounds very risky, considering the current shared nature of a Neos session and probably requires significant security considerations.

it's pretty much letting a request go to someone swallet to ask them to 'sign' to confirm access; not that many security considerations and there's plenty of web apps that have made standards for this. but it is going to be a large undertaking i agree

retiredaccountretiredaccountretired commented 2 years ago

I have also looked into trying to load 3D model NFTs, but that doesn't seem as amenable to just writing the URI to a StaticMesh component (compared to doing the same with an image URI and a StaticTexture2D). A nicer workflow for those would be great (unless I'm just missing something).

This is a great point, and I'd like this to be a thing as it basically completes half of the list of things I need to interact with things on Web3; and it isn't even NFT specific. I'm sure theres other use cases for allowing 3d models to be loaded in like this.