728x90
uncaught (in promise) Error: Please pass numbers as strings or BN objects to avoid precision errors 라는 에러가 난 코드는 프론트(리액트)에서 아래와 같다.
const buy = async () => {
await deployed.methods.buyFruit(name, count).send({
from: account,
to: CA,
value: web3.utils.toWei(count * price, "ether"),
});
};
이유를 구글링 해보니 web3.utils.toWei 함수의 첫번째 매개변수의 타입이 string 타입이였다.
그래서 코드를 아래와 같이 type을 추가해줬다.
const buy = async () => {
await deployed.methods.buyFruit(name, count).send({
from: account,
to: CA,
value: web3.utils.toWei(String(count * price), "ether"),
});
};
728x90
'개인프로젝트 > ethFruitShop' 카테고리의 다른 글
[ethFruitShop] 중간 점검 (0) | 2022.12.05 |
---|---|
[React Error] JSON schema for a JavaScript project using TypeScript tooling (0) | 2022.12.02 |
[ethFruitShop] how to return mapping (0) | 2022.12.01 |
[Solidity Error] Member "push" is not available in string[] memory outside of storage (0) | 2022.12.01 |