Web3:B站chainlink课程Lesson5遇到的小坑汇总


ethers代码


我用的ethers.js 6 ,和视频里一样用的是5的不用看代码部分
ethers.providers.JsonRpcProvider("server")  //无了
ethers.JsonRpcProvider("server")  //现在的

wallet.getTransactionCount() //无了
wallet.getNonce()  //现在的

BigNumber
ethers v5=>v6的改动
v6 中最大的变化之一是 BigNumber 类已被现代 JavaScript 环境提供的内置 ES2020 BigInt 所取代。

console.log(`Current Favorite Number:${currentFavoriteNumber.toString()}`);
我以为那个是单引号。。。原来不是,不怎么了解js,有点好笑。
wallet.encrypt(password)//这个方法在ethers6里头只需要password一个参数
let wallet= ethers.Wallet.fromEncryptedJsonSync(encryptedJson, process.env.PRIVATE_KEY_PASSWORD);
//还有这个,不需要new,反正报错说这不是一个构造方法

返回合约地址
突然想到的,一些看起来是常识的东西可能初学者要摸索半天

//这么写会说这个属性undefined
console.log(`deployed contract to: ${simpleStorage.address}`)
//于是我这么写
  _address= (await (simpleStorage.getAddress())).toString();
  console.log(`deployed contract to: ${_address}`)
//但是有时候成功有时候不成功,还是那句老话,我不怎么会Js...
反正我看那个getAddress()方法是异步的,就加了个await 

chainId mismatch

在这里插入图片描述
我这里networkId一开始给的是5777,我就用的5777,然后就报错,搜了一下,有个答案说改成1337就好了,试了一下果然如此。

这一行的最后有个设置图标,点那个图标然后去server改,改完restart。


data数据不对

在那个字符串前面加0x,不知道视频里讲没讲,我没注意,可能在干别的没听到。


你可能感兴趣的:(Web3,web3)