以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads

DappTools - 安裝與使用_APP

Author:

Time:1900/1/1 0:00:00

本文作者:bixia1994

DappTools

DappTools是Samczsun推薦使用的一個調試EVM的神器,故下載到服務器上進行初步的學習使用。

安裝

官網的安裝腳本異常簡單,但我實際上安裝到服務器上時還是踩了不少的坑,花費了很多的時間。

首先是安裝條件:它僅支持linux和Mac環境,并不支持windows環境,所以在windows上就不要想了

其次是安裝腳本的預置條件:

需要首先為centos添加一個alice的普通用戶

useraddalice

然后再給alice賦值一定的權限:

chownalice/nix//安裝時會把一些二進制文件拷貝到這個地方chownalice/run/user/0//也是安裝時存放用戶數據的地方

然后運行官網提供的腳本,記住此時是以alice為用戶的:

sualicecurl-Lhttps://nixos.org/nix/install|sh."$HOME/.nix-profile/etc/profile.d/nix.sh"curlhttps://dapp.tools/install|sh

如果出現任何的permissiondenied,則使用root用戶給alice進行賦權即可。

環境變量

MetaMask“Portfolio Dapp”新增跨鏈橋服務:11月9日消息,MetaMask“Portfolio Dapp”新增跨鏈橋服務,目前支持以太坊、Polygon、BSC 以及 Avalanche 網絡的資產跨鏈。

此前報道,9 月 28 日,加密錢包應用 MetaMask 推出“Portfolio Dapp”(Beta 版本),實現跨以太坊、BSC、Polygon、Optimism、Fantom、Arbitrum 和 Avalanche 7 個網絡和跨多個地址聚合用戶錢包資產,支持查看 NFT 和多鏈資產、觀察和追蹤 Token 等功能。[2022/11/9 12:35:58]

再安裝完成dapptools后,需要先配置一定的環境變量,這樣才好繼續使用。這里需要用到的有兩個環境變量:ETH_RPC_URL和ETHERSCAN_API_KEY。前者用來訪問鏈,后者用來從etherscan上拉取對應地址的ABI文件等

exportETH_RPC_URL="https://eth-mainnet.alchemyapi.io/v2/XXXXX"exportETHERSCAN_API_KEY="XXXX"

使用

在使用之前,需要先進行一下初始化:

sualicecd/run/user/0/samczsun."$HOME/.nix-profile/etc/profile.d/nix.sh"source.env

動態 | 波場DApp已經嵌入三星手機內置區塊鏈錢包:據官方最新消息,波場DApp已經嵌入三星手機內置區塊鏈錢包,用戶可以在三星S10以及更新的設備上使用。在今年10月底,波場TRON代表中國區塊鏈參與三星國際合作,并與三星區塊鏈的密鑰庫(Samsung Blockchain Keystore)完成整合,三星開始支持TRC10與TRC20標準,并支持在三星手機內置區塊鏈錢包中接收TRX,波場TRON成為三星支持的唯一一家國產區塊鏈。[2019/12/19]

dapptools最牛逼的一點在于它可以把主網上的合約代碼和合約的ABI拉取到本地,然后再本地通過形式化的執行來跑一遍整個流程

//第一步:拉取主網上的合約代碼和合約ABIsethbundle-source0x6b175474e89094c44da98b954eedeac495271d0f>daihide.json//第二步:利用hevm進行形式化的執行hevmsymbolic--address0x6b175474e89094c44da98b954eedeac495271d0f--rpc$ETH_RPC_URL--debug--sig"transfer(address,uint256)"--json-filedaihide.json

HackReplay-COMP

https://twitter.com/msolomon44/status/1443581033220227073

聲音 | 安永高管:大多數以太坊DApp未被高效使用:據cointelegraph報道,安永(EY)區塊鏈全球創新負責人Paul Brody今日在由美國證券交易委員會(SEC)主辦的金融科技論壇上表示,為了使區塊鏈技術取得成功,全球加密顛覆者應該“回到第一原則”來理解如何應用這種技術來提供解決方案,而不僅僅是在數字環境中“追逐錢”。因此,Brody指出,資本市場的目的是從投資者那里獲取資金并將其投入生產用途。他暗示加密空間在這方面“表現不佳”,并聲稱以太坊區塊鏈中的大部分DApp“可能沒有被最有效地使用”。[2019/6/1]

這里有一個dapptools分析compound的COMPtoken分發錯誤的帖子,可以使用dapptools來進行分析。這個例子也體現出了dapptools的優勢所在,即它可以實時的debug一筆交易,而不像hardhat或者remix需要手動部署合約。實際上即使使用了hardhat去fork了特定的blocknumber,也無法去debug它的OPCODE,對于事實上的交易順序也是沒辦法重現的。

簡單來講就是COMP的一個提案62錯誤的給某些用戶分發了錯誤數量的COMPToken。

這筆交易中,一個用戶Claim了91170個COMPToken。https://etherscan.io/tx/0xf4bfef1655f2092cf062c008153a5be66069b2b1fedcacbf4037c1f3cc8a9f45

第一步:檢查用戶是否提交了可疑的數據

動態 | 今日dapp新增9個 過去24小時EOS Dapp活躍用戶110642:據DappReview數據,今日dapp新增9個,過去24小時EOS Dapp活躍用戶110642,交易額513萬EOS/1.26億元;Tron Dapp活躍用戶60779,交易額4.3億TRX/6656萬元;ETH Dapp活躍用戶11093,交易額2.6萬ETH/2431萬元;Steem Dapp活躍用戶10374,交易額35萬Steem/111萬元。[2019/3/25]

從etherscan我們可以看到用戶調用了函數claimComp,holder為0x09d413391e975b553b7b8d19bc11f8a6c2eb889

Function:claimComp(addressholder,addresscTokens)***MethodID:0x1c3db2e0//holder//offset//len//addr//addr//addr//addr//addr//addr//addr//addr

第二步:利用seth快速寫一個bash腳本,找到該用戶參與到的COMP池子,即調用getAssetIn函數,從而檢查用戶提交的8個cToken地址是否都是該用戶參與的。

user=0x309d413391e975b553b7b8d19bc11f8a6c2eb889comptroller=0x3d9819210a31b4961b30ef54be2aed79b9c9cd3bmarketsString=$(sethcall$comptroller"getAssetsIn(address)(address)"$user)echo$marketsStringmarketsArray=(${marketsString//,/})formarketin${marketsArray};domarketName=$(sethcall$market"name()(string)")echo$market$marketNamedone

聲音 | 道特:dapp能夠對線下實體產業產生應用價值的時候,那就是真正的落地:在針對關于dApp還應該獲得哪些突破發展的問題,銳馳資本創始人道特表示,“真正的落地其實是一個相對問題。對于有dapp應用之前,目前的狀態也算是真正的落地。以現在的狀態作為參考系的話,dapp能夠真正對線下實體產業產生應用價值的時候,那應該就是真正的落地。借用微信大會的“未來城”概念,dapp現在也是一座未來城,亟需更多的建設者,開荒牛們,加入到這個生態中來,這樣量變帶來質變,自然也會帶來更大的改變。”(火星財經)[2019/1/12]

得到的結果如下:

0x4Ddc2D193948926D02f9B1fE9e1daa0718270ED5CompoundEther0x39AA39c021dfbaE8faC545936693aC917d5E7563CompoundUSDCoin0xC11b1268C1A384e55C48c2391d8d480264A3A7F4CompoundWrappedBTC0x6C8c6b02E7b2BE14d4fA6022Dfd6d75921D90E4ECompoundBasicAttentionToken0x5d3a536E4D6DbD6114cc1Ead35777bAB948E3643CompoundDai0x35A18000230DA775CAc24873d00Ff85BccdeD550CompoundUniswap0x70e36f6BF80a52b3B46b3aF8e106CC0ed743E8e4CompoundCollateral0x12392F67bdf24faE0AF363c24aC620a2f67DAd86CompoundTrueUSD0xccF4429DB6322D5C611ee964527D42E5d685DD6aCompoundWrappedBTC0xFAce851a4921ce59e912d19329929CE6da6EB0c7CompoundChainLinkToken

從上面的結果看,該用戶確實在它提出的claimComp函數中擁有以上的token,說明函數調用并沒有錯

第三步:我們需要進一步檢查comptorller合約和對應的實現合約impl合約

已知comptroller合約地址為:0x3d9819210A31b4961b30EF54bE2aeD79B9c9Cd3B對應的實現合約地址為:0x374ABb8cE19A73f2c4EFAd642bda76c797f19233,該實現合約也是62號提案更新過的合約地址

然后從etherscan上拿到對應的實現合約的源碼,以方便我們進一步調試,即:

sethbundle-source0x374ABb8cE19A73f2c4EFAd642bda76c797f19233>impl.json

當運行上面的命令時會出現:報錯:Argumentlisttoolong

samczsun]$sethbundle-source0x374ABb8cE19A73f2c4EFAd642bda76c797f19233>impl.json/nix/store/3fl61v0ssh5cdxqbvzvbqqx9a08j1wmg-seth-0.10.1/libexec/seth/seth-bundle-source:line32:/nix/store/3fl61v0ssh5cdxqbvzvbqqx9a08j1wmg-seth-0.10.1/libexec/seth/seth:Argumentlisttoolong

可以參考github的issue:

https://github.com/dapphub/dapptools/issues/825

由于目前dapptools正在修復這個bug,故目前暫時無法獲取到相應的數據。

然后定義一個局部變量txHash,即該用戶的交易哈希

txHash=0xf4bfef1655f2092cf062c008153a5be66069b2b1fedcacbf4037c1f3cc8a9f45

第四步:debug這個tx

當拿到txHash和對應的合約json文件后,我們可調用seth的方法來展示這個交易的整個流程

sethrun-tx$txHash--trace--sourceimplementation.json

這行命令會顯示出這筆交易中的所有內部交易,其效果與在ethtx.info網站上查詢的交易信息一樣

然后再執行如下命令,來逐行執行這筆交易中的代碼:

sethrun-tx$txHash--sourceimplementation.json--debug

這里使用的是Dai中的一筆普通的transfer交易來做示范,不過dapptools真的太牛了!可以debug主網上的交易,并且不需要過多的配置,比用hardhat要方便好多。hardhat壓根沒辦法按照OPCODE的方式來進行debug,一個字牛逼!

參考資料

bixia1994:https://learnblockchain.cn/people/3295

EVM:https://learnblockchain.cn/2019/10/05/evm-data

compound:https://learnblockchain.cn/article/1015

hardhat:https://learnblockchain.cn/docs/hardhat/getting-started/

免責聲明:作為區塊鏈信息平臺,本站所發布文章僅代表作者個人觀點,與鏈聞ChainNews立場無關。文章內的信息、意見等均僅供參考,并非作為或被視為實際投資建議。

本文來源于非小號媒體平臺:

登鏈社區

現已在非小號資訊平臺發布105篇作品,

非小號開放平臺歡迎幣圈作者入駐

入駐指南:

/apply_guide/

本文網址:

/news/10417119.html

免責聲明:

1.資訊內容不構成投資建議,投資者應獨立決策并自行承擔風險

2.本文版權歸屬原作所有,僅代表作者本人觀點,不代表非小號的觀點或立場

上一篇:

每周編輯精選WeeklyEditors'Picks

Tags:APPDAPDAPPETH拉菲幣AppDapper幣DapperETHF價格

歐易交易所app下載
Gate.io 關于支持Cardano (ADA)升級計劃的公告_Gate.io

根據Cardano官方消息,Cardano計劃于Epoch298進行一次小更新升級,預計時間10月23日早5點44UTC8.

1900/1/1 0:00:00
大幣網(Dcoin)關于錢包維護升級完成的公告(已完成)_OIN

親愛的大幣網(Dcoin)用戶:大幣網(Dcoin)錢包維護升級已完成,目前可以正常交易及充提幣.

1900/1/1 0:00:00
XT關于暫停SALE-BEP20,SALE-MATIC充提的公告_TPS

尊敬的XT用戶: 因SALE錢包維護,XT.COM現已暫停SALE-BEP20,SALE-MATIC充提業務。給您帶來的不便,請您諒解!感謝您對XT.COM的支持與信任.

1900/1/1 0:00:00
ZBG關于VLX暫停充提幣的公告_ITA

公告編號2021101701各位關心ZBG的投資者們和項目方:VLX因錢包維護暫停充提幣,具體開放時間以公告為準,給您帶來不便深感抱歉,敬請諒解.

1900/1/1 0:00:00
中央網信辦等18個部門和單位聯合印發《關于組織申報區塊鏈創新應用試點的通知》_區塊鏈

近日,中央網信辦會同中央宣傳部、國務院辦公廳、最高人民法院、最高人民檢察院、教育部、工業和信息化部、民政部、司法部、人力資源社會保障部、國家衛生健康委、中國人民銀行、國務院國資委、國家稅務總局、.

1900/1/1 0:00:00
Gate.io EQX/USDT流動性礦池今日新增額外限時獎勵28,840 EQX_GAT

為鼓勵更多用戶積極參與Gate.io流動性挖礦,今日中午11:00,EQX/USDT流動性礦池獎勵新增額外28.

1900/1/1 0:00:00
ads