ADR-39: DApps Blockchains Support

More details about this document
Latest published version:
https://adr.decentraland.org/adr/ADR-39
Feedback:
GitHub decentraland/adr (pull requests, new issue, open issues)
Edit this documentation:
GitHub View commits View commits on githistory.xyz

Context and Problem Statement

Every dApp and the explorer support meta transactions following the EIP-712 to interact with secondary blockchains as Polygon. Meta transactions are sent by the transaction server which is using a third-party to relay them.

Trezor and Smart contract wallets (we don't support on-chain validation for signatures) can't send meta transactions. Moreover, users may want to not depends on a server to interact.

Currently, the dApps and the explorer only support one chain per domain.

Considered options

Decision outcome

To make life easier for the users, we have decided to support multiple blockchains by using the same domain/subdomain. Users can switch to different networks and the webapp must respond to the network change event by enabling/disabling features.

Solution

The dApps team will make a breaking change in the decentraland-dapps lib to support multiple blockchains in the dApps.

Each dApp will require a manual update to enable/disable features. A common strategy for this will be needed across all the dApps.

The explorer & the SDK should provide a way for the scenes to check the network where the user is connected.

Participants

License

Copyright and related rights waived via CC0-1.0. Living