//TODO
//TODO
终端1
docker exec -it y_sfuzz bash
cd
truffle develop
#退出
.exittruffle_example/temp/0x00A0cbe98E4D110b0Fa82646152D77Babf2951D0/migrations/1_deploy_contract.js
终端2
docker exec -it y_sfuzz bash
cd
truffle migrate --network develop
truffle exec ./ERC20Tokentest.js --network develop > result.txtconda activate g_SCRepair
/bdata2/gcf/tosemr1/Elysium/get_truffle_json.ipynb- 生成的/bdata2/gcf/tosemr1/Elysium/SCRD_truffle_json/中的合约地址与/home/yjj/mydir/truffle_example/elysium/中的合约地址存在大小写字母不一致的差异,需要加字典数据进行映射。
- 生成的SCRD数据集合约的migrations/1_deploy_contract.js文件大部分有错误,需要手动调整,有如下几种情况
- 删重复语句
- 手动拷贝truffle_json文件
cd /home/yjj/mydir/truffle_example cp /bdata2/gcf/tosemr1/Elysium/SCRD_truffle_json/0xCB58A0bDdb9c972D1020d3F9e94C3401960A12d8/Crowdsale.json ./elysium/0xcb58a0bddb9c972d1020d3f9e94c3401960a12d8/build/contracts/ - 手动拷贝其他相关合约的json文件
cp before/0xc7d020d8c92d099b3ade17321310b4815ef20a90/build/contracts/EqualToken.json ./elysium/0xc7d020d8c92d099b3ade17321310b4815ef20a90/build/contracts/
/bdata2/gcf/tosemr1/Elysium/get_truffle_files.py-
批量执行合约下的run.sh脚本
python run.py
-
提取发布合约消耗的gas数据
python -u get_deploy_result.py >> get_delopy_result.log 2>&1
生成:
get_delopy_result.log
elysuim_delopy_results.csv -
提取交易复现消耗的gas数据
python get_results.py
生成:
after_statistics_elysium.json -
分析前后交易gas消耗的不同
python /home/yjj/mydir/truffle_example/data/python/analyse.py
生成:
summary_elysium.json
difference_elysium.txt -
gas差异数据,json转csv
python json2csv.py
生成:
summary_elysium.csv