// Function to retreive data form the blockchain private async Task <string> RetrieveFromBlockchain() { QuorumSettings qs = new QuorumSettings(); WalletSettings ws = new WalletSettings(); try { var account = await BlockchainContractInteraction.GetAccount(); var managedAccount = new ManagedAccount(account.Address, ws.Password); var web3Managed = new Web3(managedAccount, qs.UrlWithAccessKey); var web3 = new Web3(account, qs.UrlWithAccessKey); var contract = web3.Eth.GetContract(qs.ContractAbi, qs.ContractAddress); var functionSet = contract.GetFunction("getHash"); var result = await functionSet.CallAsync <string>(2); return(result); } catch (System.Exception e) { consoleMessage.text = "Error: Check Debug Log\nPossibly no internet access!"; Debug.Log(e); return(null); } }
private async void QuorumContractInteraction() { QuorumSettings qs = new QuorumSettings(); WalletSettings ws = new WalletSettings(); var account = await GetAccount(); var managedAccount = new ManagedAccount(account.Address, ws.Password); var web3Managed = new Web3(managedAccount, qs.UrlWithAccessKey); try { var blockNumber = await web3Managed.Eth.Blocks.GetBlockNumber.SendRequestAsync(); var print = "Current BlockNumber: " + blockNumber.Value; var balance = await web3Managed.Eth.GetBalance.SendRequestAsync(account.Address); print += "\n" + "Account Balance of " + account.Address + " on Quorum: " + Web3.Convert.FromWei(balance.Value); var contract = web3Managed.Eth.GetContract(qs.ContractAbi, qs.ContractAddress); var functionSet = contract.GetFunction("getLatestFileIndex"); var result = await functionSet.CallAsync <int>(); print += $"\ngetLatestFileIndex(): " + result; consoleMessage.text = print; } catch (Exception e) { consoleMessage.text = "Error: Check Debug Log\nPossibly no internet access!"; Debug.Log(e); } }