DethCode - 在 etherscan 使用VScode查看合約

以Akutar Mint Pass這個合約為例 將網址中的 “.io” 改為 “.deth.net”,會跳轉到vscode ui的頁面,方便讀code、進行查詢 改成如下的網址: Vscode ui 介面:

有興趣可以去DethCode的github看更多詳細的細節與開源碼。

資料來源

eslint error-- mocha "describe" is not define

撰寫test檔時,發現以下eslint報的錯

解決辦法: .eslintrc檔案中加上:

"env": {
	"mocha": true
}

資料來源

解決 github page can not enable https 問題

購買網域並使用Cloudflare配置DNS後,想在github page勾選Enforce https讓網頁可以進行安全連線,卻發現如下問題:

原因: Cloudflare會預設啟用代理功能(顯示Proxied的橘色雲朵狀態),因此github沒辦法查看生成證書需要的DNS資訊。

解決方法: 將和github page有關的DNS設定改為灰色雲朵DNS only,回到github page頁面,重新設定一次custom domain。

資料來源

解決 invalid address or ENS name 問題

test 智能合約時,透過ethers.getSigners()建立Signer並使用 跑 npx hardhat test 發現問題:Error: invalid address or ENS name (argument=”name”, value=”<SignerWithAddress 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266>”, code=INVALID_ARGUMENT, version=contracts/5.6.0)

把alice使用console.log印出來看看

{from: alice} 改成 {from: alice.address} Problem solved!

解決部署合約 insufficient funds for gas * price + value 問題

當我在建置完geth客戶端私有鏈後,想要把truffle範例中的Metacoin部署上去,卻出現了以下的問題:

在genesis.json中定義的gasLimit是8000000,而現在的gasprice可以透過javascript console內的指令eth.gasPrice來查詢,得到如下圖結果:

解決辦法

如果是在私有鏈的情況下,可以透過在geth指令後方加上--miner.gasprice '0' 來解決這個問題。 加上此flag後再重啟客戶端,透過eth.gasPrice指令查詢,此時gasPrice變成0了!當然也就不會有insufficient funds的問題。