protected async void Page_Load(object sender, EventArgs e)
{
var senderAddress = "0x605a1f8d368cbdd4d0a5cbad74f75c428660f17b";
var password = "zxcasdqwe123";
var abi = @"[{""constant"":false,""inputs"":[{""name"":""passAddress"",""type"":""address""}],""name"":""isWhitelisted"",""outputs"":[{""name"":"""",""type"":""bool""}],""payable"":false,""type"":""function""},{""constant"":false,""inputs"":[{""name"":""userAddress"",""type"":""address""}],""name"":""userAdd"",""outputs"":[],""payable"":false,""type"":""function""},{""inputs"":[],""payable"":false,""type"":""constructor""}]";
var web3 = new Nethereum.Web3.Web3();
var newAddress = "0xE96932536293CF4712180973c6201DDbDf6fa3C0";
/*var unlockAccountResult = await web3.Personal.UnlockAccount.SendRequestAsync(senderAddress, password, new HexBigInteger(120));
Assert.True(unlockAccountResult);
*/
//var transactionHash = await web3.Eth.DeployContract.SendRequestAsync(abi, byteCode, senderAddress, newAddress);
//var receipt = await web3.Eth.Transactions.GetTransactionReceipt.SendRequestAsync(transactionHash);
//while (receipt == null)
//{
// Thread.Sleep(5000);
// receipt = await web3.Eth.Transactions.GetTransactionReceipt.SendRequestAsync(transactionHash);
//}
//var contractAddress = receipt.ContractAddress;
var contract = web3.Eth.GetContract(abi, "0x23699275461c4755377c293bb657e84d3ddfdbd9");
var fucntion = contract.GetFunction("userAdd");
var result = await fucntion.CallAsync<String>("0xE96932536293CF4712180973c6201DDbDf6fa3C0");
}
Ich habe meinen Vertrag auf rinkeby bereitgestellt und die Adresse erhalten, und jetzt rufe ich meine Funktion meines Vertrags an, aber es zeigt mir null an.
Hilfe danke im Voraus
Aus Ihrer ABI sieht es so aus, als ob es keine Ausgabeparameter für die Funktion gibt userAdd
?
Wenn Sie versuchen, eine Transaktion zum Ändern des Status zu senden, sollten Sie function.SendTransactionAsync(...)
not verwendenCallAsync
Es wird kein Wert von einer Transaktion zurückgegeben. Überprüfen Sie den Status in der Quittung.
Abhängig von der Version von Nethereum, die Sie verwenden, müssen Sie möglicherweise zuerst das sendende Konto entsperren.
HTH
RononDex
Vishant Patil
natewelch_