
# Cardano Example Dapp

## **Multi-Network support**

Example that shows how to make multi-network protocols, meaning scripts that are prepared to run in multiple networks (and DLTs)


## Try it online: 

-  Visit [HTML+JS Dapp](https://gamechangerfinance.github.io/gamechanger.wallet/examples/Multi-Network%20support.html)
-  Visit [HTML+React Dapp](https://gamechangerfinance.github.io/gamechanger.wallet/examples/Multi-Network%20support_react.html)
-  Visit [Native HTML dapp](https://gamechangerfinance.github.io/gamechanger.wallet/examples/Multi-Network%20support_nolib.html)
-  Run [Standalone URL dapp connection](https://wallet.gamechanger.finance/api/2/run/1-H4sIAAAAAAAAA41U227jNhD9FUEvToBsQJEUL30r2gJbtF30Yd8Xw5svkSiJpGw5Qf69o9i79UN2W8OwaM7MmXPmkHqpy750vv6p_mvuyv7DJ19OQ3qqsk37sdQPtfOX5X6ImPTbAv3Y-arsoFR5N5xyhT9VGaoennzVv2HEK8aYhjLYocsPVe8h7uP2Cpsv9ZA85vgRn26FSHOs9vECsja54uTqDqKrfv3zc75HQuU8rnS_EUy-zAm5vdT94NZIB7nUrw-1X8YhlZ8zbjkogKmQtnlNtJAcxOFDD_uITdatkjzkOZ0xGZxLzaRVIGK0KUe1EDafyLHzh5NQPNiZ0BOEcAzZuvxM3GE7OXEQRxIs4bH1uy3V9LwcMz6OPqdp6pcpxFGe51OU54ke8znKdbYofm1-0fIR8u6jX5BBozU4qlttleWeu5YA4UACc0oyIzQNQYlgrIBGt85x7hppJBer6txDKr8MsSSw5T3wlmJdIFZjBTfce2u9YqplCjDkTdO2hCnDnBfKU2NoABUsW_nu4zhfprWseAgmJPUKgqA6GMcVMVgBoeEhaMKFCxy0FQrVcGWs4g4UNmoccCVpEwh7A3UrL4LcO4hbBB27ucz5y5HWr7j51az1pKTBvWPWl-Jzaabn4PTYbSH3fSEhZtUV2hP7lBZhx_kgSq-CYIxuD4fDbqeOFsLzdGhLPpGo2dhB-2T786InyeA45nHZFRpF6Nyc6TLZPN04Ns7mD3_-d6iBMd8aMA1xWrWS40Sk9FQL4yz-lwRwmBqnoCTRtrEKHfQy6P_lmKCIwhzh-GVSuLYRjjVCcI0G0tZ6hqcRMNDIoEzrGyq14dq96xhrOeWN0S5Q7Z100mqHcCpIhXuGNWBwYYRwvuG-tawxjgBaiIeNSM1_6FiDjuEuXuS15_X-_h7D8EbhcnG3vny6CWD6NQ8HepPWg01DfcWqX6rDsI93mw-bB6y_21iwO_940-DRdeUzbDf334tf128599Xr2nfO_m9I0PviU_5e65f6gryS-I_Wr_U3LT8uuOWyFo03LFDqWnWR-7h52KwvrfdU47hQyZsU_PwDdoLyHMgFAAA)

## Source code:

- dapp connection code: [GCScript DSL](Multi-Network%20support.gcscript)
- frontend (using @gamechanger-finance/gc): [HTML+JS dapp](Multi-Network%20support.html)
- frontend (using @gamechanger-finance/gc): [HTML+React dapp](Multi-Network%20support_react.html)
- frontend (without official library): [Native HTML dapp](Multi-Network%20support_nolib.html)

Dapp code was autogenerated by [Playground IDE in GameChanger Wallet ](https://wallet.gamechanger.finance/playground)

## GCScript code (dapp connection):
```json
{
  "title": "Multi-Network script",
  "description": "Example that shows how to make multi-network protocols, meaning scripts that are prepared to run in multiple networks (and DLTs)",
  "type": "script",
  "return": {
    "mode": "last"
  },
  "exportAs": "data",
  "args": {
    "cardano-mainnet": {
      "treasury": "addr1q98f06pcrsn8x03uw0vlejw684fcu02waffvfscdsz0djgqd6j6v0fc04n5ehg292yxvs292vesrqqmxqfnp7yuwn7yq2vsyn7",
      "drep": {
        "scriptHashHex": "199ad2959c8c4e4d50a04a0f3d873b692ff86fbc6a195dd44d17b746"
      },
      "smartContract": {
        "scriptHashHex": "52c6af0c9b744b4eecce838538a52ceb155038b3de68e2bb2fa8fc37",
        "input": {
          "txHash": "672e8af629fbd480be2baf14ff9046df4a9c689ad48bc84da88531da48721f03",
          "index": 0
        },
        "lang": "plutus_v2"
      }
    },
    "cardano-preprod": {
      "treasury": "addr_test1qzfd9plgasmmt0fns8lt2m0ckrx6cpuj6tm8f6332gjjjhh8vcafzqj5tsw0n93pla5kcmyx9q73avpspxht2n6fldus2xqcsq",
      "drep": {
        "pubKeyHashHex": "f33e5bab10d98574f6277e296bdc85770a68e9d488709c1c8ff8e7f9"
      },
      "smartContract": {
        "scriptHashHex": "62bdc3d04d04376d516d31664944b25ce3affa76d17f8b5e1279b49d",
        "input": {
          "txHash": "354241b9df29ed7d7c9d6d38f789dfb31ab89db66de14e5c31bd0a89a6a10794",
          "index": 0
        },
        "lang": "plutus_v1"
      }
    }
  },
  "run": {
    "networkInfo": {
      "type": "getNetworkInfo"
    },
    "networkKey": {
      "type": "macro",
      "run": "{ join('-',get('cache.networkInfo.dltTag'),get('cache.networkInfo.networkTag')) }"
    },
    "useParameters": {
      "type": "macro",
      "run": {
        "dltTag": "{get('cache.networkInfo.dltTag')}",
        "networkTag": "{get('cache.networkInfo.networkTag')}",
        "parameters": "{ get(join('.','args',get('cache.networkKey'))) }"
      }
    }
  }
}
```

## Run standalone QR dapp connection: 

You can use [Playground IDE in GameChanger Wallet ](https://wallet.gamechanger.finance/playground) in `QR URL Transport` mode to capture results

[![This GCScript/URL is too large! make it shorter uploading parts to GCFS. Unable to generate QR code](Multi-Network%20support.png)](https://gamechangerfinance.github.io/gamechanger.wallet/examples/Multi-Network%20support.png)

## Resources
- [How to connect?](https://www.npmjs.com/package/@gamechanger-finance/gc)
- [Docs and examples on Github](https://github.com/GameChangerFinance/gamechanger.wallet/)
- [GCScript documentation](https://wallet.gamechanger.finance/doc/api/v2)
- [Playground IDE in GameChanger Wallet ](https://wallet.gamechanger.finance/playground)
- [Tutorials on Youtube](https://www.youtube.com/@gamechanger.finance)
- [Support on Discord](https://discord.gg/vpbfyRaDKG)
- [News on Twitter](https://twitter.com/GameChangerOk)
- [Website](https://gamechanger.finance)

## License
MIT 
    
