Vyper

使用 Vyper 進行外部通話

  • November 23, 2021

我想從我的 vyper 契約中呼叫另一個契約。

我已經閱讀了幾個教程和文件,有兩種方法可以做到這一點:

第一種方法:

interface MyExternalContract:
  def public_function1_of_my_external_contract(arg1: int128, arg2: int128)
  def public_function2_of_my_external_contract(arg1: int128, arg2: int128)
  ...

@external
def fonction_of_my_contract():
 MyExternalContract(address). public_function1_of_my_external_contract(1,2)

第二種方法:

contract MyExternalContract:
  def public_function1_of_my_external_contract(arg1: int128, arg2: int128)
  def public_function2_of_my_external_contract(arg1: int128, arg2: int128)
  ...

@external
def fonction_of_my_contract():
 MyExternalContract(address). public_function1_of_my_external_contract(1,2)

如您所見,“介面”已被“契約”取代。

這兩種方法有什麼區別?

謝謝

該關鍵字contract在 v0.2.1 中已棄用,並替換為interface關鍵字。

VIP的更多細節:將合約關鍵字更改為介面 #1825

引用自:https://ethereum.stackexchange.com/questions/93016