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,不知道视频里讲没讲,我没注意,可能在干别的没听到。