12345678910111213141516171819202122232425262728293031323334353637 |
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- #if UNITY_WEBGL
- public class WebGLSendContractExample : MonoBehaviour
- {
- async public void OnSendContract()
- {
- // smart contract method to call
- string method = "addTotal";
- // abi in json format
- string abi = "[ { \"inputs\": [ { \"internalType\": \"uint8\", \"name\": \"_myArg\", \"type\": \"uint8\" } ], \"name\": \"addTotal\", \"outputs\": [], \"stateMutability\": \"nonpayable\", \"type\": \"function\" }, { \"inputs\": [], \"name\": \"myTotal\", \"outputs\": [ { \"internalType\": \"uint256\", \"name\": \"\", \"type\": \"uint256\" } ], \"stateMutability\": \"view\", \"type\": \"function\" } ]";
- // address of contract
- string contract = "0x7286Cf0F6E80014ea75Dbc25F545A3be90F4904F";
- // array of arguments for contract
- string args = "[\"1\"]";
- // value in wei
- string value = "0";
- // gas limit OPTIONAL
- string gasLimit = "";
- // gas price OPTIONAL
- string gasPrice = "";
- // connects to user's browser wallet (metamask) to update contract state
- try
- {
- string response = await Web3GL.SendContract(method, abi, contract, args, value, gasLimit, gasPrice);
- Debug.Log(response);
- }
- catch (Exception e)
- {
- Debug.LogException(e, this);
- }
- }
- }
- #endif
|