// 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);
        }
    }
Пример #2
0
        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);
            }
        }