안녕하세요 사용자의 지갑주소를 post method 로 받아 스마트 컨트랙트에 등록하려고 하는데 unknown account 에러가 계속 뜹니다.
현재 express 환경에서 사용하고 있고 스마트 컨트랙트를 서버에서 실행하려고 합니다.
현재 스마트 컨트랙트 코드는
`
NoAContract.methods
.uploadPhoto(byte, title, desc)
.send({
from: wallet,
to: "0x4B8035af8c66E42879E5AEfacac1DA914F0C5443",
gas: "8500000",
gasPrice: null,
})
.then(console.log("minted"))
.catch((error) => {
console.error(error);
});
이렇게 되고 express rest api 로는
const caver = new Caver(“https://api.baobab.klaytn.net:8651”);
app.post("/smartcontract", upload.single(“photo”), (req, res) => {
const keystore = fs.readFileSync(
“./keystore-0x405679e8548dd2dd53cecf5cce2a9b58f44943a7-2022-4-20.json”,
“utf-8”
);
const keyring = caver.wallet.keyring.decrypt(keystore, “dlaghddnjs9^”);
//console.log(keyring);
caver.wallet.add(keyring);
const NoAContract = new caver.klay.Contract(
abi,
"0x4B8035af8c66E42879E5AEfacac1DA914F0C5443"
);
console.log(NoAContract);
var byte = req.file.size;
//console.log(req.file.size);
var title = req.body.title;
//console.log(title);
var desc = req.body.description;
//console.log(desc);
var wallet = req.body.wallet;
`
이런 환경입니다.