Contract-Invocation
智能合約多種功能呼叫
我的問題主要是想知道我想要實現的目標是否可行,不幸的是我在其他地方找不到(理解?)我的答案。
我沒有使用 Solidity 的經驗,也很少使用乙太坊,我只是設法在與 ETH 客戶端(go-ethereum)的交易中呼叫智能合約中的一個函式。我沒有部署合約,它是一個公共的 DeFi 智能合約。
到目前為止,我已經成功地從智能合約中呼叫了一個帶有參數的函式並得到了它的響應。目標是同時呼叫多個函式,但按照定義的順序,每個函式都有自己的參數,來自同一個智能合約,最好是在同一個交易中。
- 是否可以呼叫多個函式(帶參數)並在一個乙太坊交易中獲得所有響應?
- 如果沒有,是否可以通過其他方式來完成,比如部署我自己的智能合約來完成這項工作?
- 有沒有辦法保證智能合約執行這些功能的順序(我的意思是最終的目標智能合約,如果我需要部署一個,不是我的)?
- 為了達到這個目標,有沒有我想不到的直接相關的問題或潛在的解決方案?
一筆交易始終是從 EOA(外部擁有的賬戶)到另一個 EOA(乙太幣轉賬)或單個智能合約的一次呼叫。
因此,您可以做的是創建自己的契約來滿足您的需求。因此,您的合約會創建對其他合約的引用並按特定順序呼叫它們。以下是有關如何執行此操作的一些參考:https ://medium.com/@blockchain101/calling-the-function-of-another-contract-in-solidity-f9edfa921f4c和https://www.reddit.com/r /ethereum/comments/58x16k/how_do_i_call_a_deployed_contracts_method_in/(請注意,程式碼的語法變化非常快,因此範例的語法可能不再完全正確)
執行順序在單個事務中嚴格定義 - 沒有並行性。所以首先執行第一行程式碼,然後執行第二行,依此類推。如果第一行失敗,第二行(大部分)甚至不會被執行。