truffle
給大家介紹一下這個框架怎么使用,其實把這個框架就是你們看我之前有一個教程是教你們怎么用remix-ide來連接私有鏈,編譯,配置合約,然后進行調用的,truffle其實就是把這個步驟放到了一個文件夾中,讓你不用自己弄來弄去,但是其實我更喜歡remix-ide那種。
首先是初始化一個truffle,在這里呢我是使用了truffle的一個實例metacoin
truffle unbox metacoin
然后文件夾中就會生成這幾個文件夾
在contracts文件夾中有這三個文件,如果是自己配置的話,這里就是放合約文件(sol)的地方
然后就是migrations文件夾中,如果是自己配置就只有1_initial_migration.js這一個文件,所以需要自己設置2_deploy_contracts.js這個文件夾
這里有一個十分重要的地方就是如果構造文件中有參數,則在deployer.deploy(合約文件名,輸入參數)
Deployer,link();//是當兩個合約之間一個文件中有調用另一個文件時使用的
然后就應該在truffle.js這個文件中配置來連接私有鏈,當然首先應該先要打開私有鏈
添加進內容:
networks: {
development: {
host: "localhost",
port: 8545,//這個port應該設置為自己的私有鏈的port
network_id: "*" // Match any network id
}
}
然后這樣就配置好了,就可以開始進行編譯、部署然后在console中調用
先是編譯truffle compile
然后就產生了build這個文件夾,這個文件夾中生成的是json文件,即合約的ABI
truffle migrate(如果之后有更改過一定要加 —reset)
然后進行合約的調用
truffle console
在truffle console中輸入loveToken.deployed().then(instance => contract = instance)(loveToken是在migrations-2_deploy_contracts.js中的var loveToken = artifacts.require(“./loveToken.sol”);語句定義的),回車,就能夠得到合約部署的信息,這就說明部署成功了
然后調用contract.owner.call(),就可以成功得到值了
如果退出了console,就會發現contract.owner.call()沒有用了
然后可以在test文件夾中寫js測試文件來測試合約
然后就可以在終端中運行truffle test來調用這個測試文件
如果想對某個單個文件執行測試的方式是:
truffle test 測試文件名
truffle的測試文件的編寫是包裝了mocha測試框架和chai斷言的(這方面的內容在Chai 斷言-truffle和Mocha 測試框架 -truffle這里看)
然后這就是truffle這個框架使用簡單的使用方式