【发布时间】:2022-01-21 01:53:50
【问题描述】:
我正在构建一个质押功能并在授予访问我的令牌的权限后遇到以下错误:
“MetaMask - RPC 错误:无法设置未定义的属性(设置 'loadingDefaults')”
Staking 功能 Solidity 合约:
// Staking function
function depositTokens(uint _amount) public {
require(_amount > 0, 'Amount has to be > 0');
// Transfer tether tokens to this contract
tether.transferFrom(msg.sender, address(this), _amount);
// Update Staking balance
stakingBalance[msg.sender] = stakingBalance[msg.sender] + _amount;
if(!hasStaked[msg.sender]) {
stakers.push(msg.sender);
}
// Update Staking balance
isStaking[msg.sender] = true;
hasStaked[msg.sender] = true;
}
质押前端
stakeTokens = (amount) => {
this.setState({loading: true })
this.state.tether.methods.approve(this.state.deBank._address, amount).send({from: this.state.account}).on('transactionHash', (hash) => {
this.state.deBank.methods.depositTokens(amount).send({from: this.state.account}).on('transactionHash', (hash) => {
this.setState({loading:false})
})
})
}
奇怪的是,在 25-30% 的情况下,我进入了第二个批准步骤并且交易通过了。
有人知道是什么原因造成的吗?
【问题讨论】:
标签: blockchain solidity smartcontracts truffle metamask