AlphaWallet / AlphaWallet/Web3E

Error calling smart contract functions with parameters

未关闭
#26 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
C
星标
152
派生
45
PR 合并指标
30 天内没有已合并 PR

描述

Hi!

Thanks for your awesome work, your library is great and has saved me lots of time and headaches.

I am using it with an ESP32 WROOM and I've been able to: 1) Send transaction to address 2) Call smart contract functions 3) Send transactions to smart contract functions **without parameters**.

However, I get an error every time I try to send a transaction to a smart contract function that contains some arguments. Here is an example:

## Working
### C++ code
```
string param = contract.SetupContractData("modifyNumber()");
string result = contract.SendTransaction(nonceVal, gasPriceVal, gasLimitVal, &contractAddrStr, &callValue, ¶m);
```

### Solidity code

```
contract Test {

uint8 public number = 20;

function modifyNumber() public {
number = 100;
}

}
```

## Not working
### C++ code
```
uint8_t newNum = 100;
string param = contract.SetupContractData("modifyNumber(uint8)", &newNum);
string result = contract.SendTransaction(nonceVal, gasPriceVal, gasLimitVal, &contractAddrStr, &callValue, ¶m);
```

### Solidity code

```
contract Test {

uint8 public number = 20;

function modifyNumber(uint8 newNum) public {
number = newNum;
}

}
```

## Error
The error occurs in `contract.SetupContractData(...)`, whenever the provided function contains some parameters.
The output error is of type:
`Guru Meditation Error: Core 1 panic'ed (LoadProhibited). Exception was unhandled`

Thank you in advance!

贡献指南

这个仓库没有索引到贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。