cómo llamar a la función de contrato inteligente en C#.net core

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");
        }

Desplegué mi contrato en rinkeby y obtuve la dirección y ahora estoy llamando a mi función de mi contrato pero me muestra nulo.

ayuda gracias de antemano

¡siempre oculte las contraseñas cuando publique cosas aquí!
¿Alguna vez obtuviste una respuesta a esta pregunta? Si es así, amablemente comparte.
Esto realmente no responde la pregunta. Si tiene una pregunta diferente, puede hacerla haciendo clic en Preguntar . También puede agregar una recompensa para llamar más la atención sobre esta pregunta una vez que tenga suficiente reputación . - De la revisión

Respuestas (1)

¿ Desde su ABI parece que no hay parámetros de salida para la función userAdd?

Si está intentando enviar una transacción para modificar el estado, debe usar function.SendTransactionAsync(...)notCallAsync

No habrá valor devuelto de una transacción. Verifique el estado en el recibo.

Además, según la versión de Nethereum que esté utilizando, es posible que primero deba desbloquear la cuenta de envío.

HTH