예제 #1
0
        public async Task AddClaim(string claim)
        {
            var function        = contract.GetFunction("addClaim");
            var transactionHash = await function.SendTransactionAsync(agentAccount.Address, claim, new Nethereum.Hex.HexTypes.HexBigInteger(900000));

            await MineAndGetReceiptAsync(web3, transactionHash);
        }
예제 #2
0
        private async void btn_queryAmount_Click(object sender, EventArgs e)
        {
            string accountAddress = this.tb_account.Text.Trim();

            if (string.IsNullOrEmpty(accountAddress))
            {
                MessageBox.Show("不能为空");
                return;
            }

            var getBalance = NearCoinContract.GetFunction("balanceOf");      //方法名为智能合约中的方法名

            var amount = await getBalance.CallAsync <Int64>(accountAddress); //注意单位Gwei

            this.tb_loglist.Text = amount.ToString();
        }
예제 #3
0
        // Get PlayCoin UserBalance
        public async Task <String> GetMyBalanceAsync()
        {
            if (!String.IsNullOrEmpty(player.Address))
            {
                var balancefunction = contract.GetFunction("balanceOf");
                var balance         = await balancefunction.CallAsync <Int64>(player.Address);

                return(balance.ToString());
            }
            else
            {
                throw new UserNotSetException();
            }
        }
예제 #4
0
        public async Task <string> SendTransaction(Nethereum.Contracts.Contract contract, string functionName, string from, HexBigInteger gas, HexBigInteger value, params object[] functionInput)
        {
            // TODO: name is invalid, gas is invalid
            var function = contract.GetFunction(functionName);

            Logger.Information($"Calling {functionName}() at gas {gas.Value.ToString()}");

            try {
                return(await function.SendTransactionAsync(from, gas, value, functionInput));
            }
            catch (Exception e) {
                Logger.Error(e, $"Failed to call {functionName}() at gas {gas}");
            }

            return(null);
        }