Truffle
如何使用 Truffle 針對本地主網上現有的智能合約測試你的智能合約?
背景
我對智能合約相當陌生,目前正在嘗試使用 Ganache 和 Truffle 在我的本地機器上進行測試。
我的目標是讓智能合約與乙太坊主網上的其他現有智能合約進行互動,例如 UniswapV2Factory.sol、WETH9.sol 等。為了測試我的方法是否正常工作,我還需要將這些合約部署到我的本地區塊鏈。這是我遇到麻煩的地方。
問題
我嘗試了不同的東西:
- 創建一個 truffle 項目並將我需要的每個合約、庫和介面都放在 contracts 目錄中。這給我編譯合約帶來了麻煩,因為有些需要solidity 版本4.xx、5.xx 和6.xx。
- 為每個合約“組”創建一個單獨的 truffle 項目,並相應地設置solidity 編譯器版本。這可以很好地編譯和遷移,我可以看到所有合約都出現在 Ganache GUI 中。但是在使用 Truffle 控制台時,我一次只能與一個項目的合約進行互動。
問題
嘗試針對本地主網上現有的智能合約測試您的智能合約時,最好的方法是什麼?
使用 ganache 主網分叉。檢查此回購 https://github.com/t4sk/defi-by-example#test