Solidity

如何讓智能合約將消息與交易一起發送給使用者?

  • September 3, 2019

智能合約顯然可以通過乙太坊網路發送交易,但它們也可以在交易中發送簡單的消息嗎?

通常,您會將消息放入“數據”欄位中的十六進制程式碼,但您如何讓智能合約做到這一點?

謝謝。

我假設您想發送一條消息以及一筆交易,該交易將發送到“普通”賬戶,而不是“智能合約”賬戶。甚至可能來自“普通”帳戶。

您可以做的是使用任何線上轉換器將您的簡訊轉換為十六進制,例如這個

大多數錢包都有一個data交易欄位,然後您可以在其中粘貼十六進制。在契約中,您必須使用該call方法,如此所述。

例如,像“3 o’clock at the tower”這樣的消息將轉換為“0x33206f27636c6f636b2061742074686520746f776572”,您可以在“data”欄位中發送該消息。

如果接收者沒有在他們的錢包中獲得這些數據,他們將不得不在像etherscan這樣的區塊鏈瀏覽器上查找交易,向下滾動並找到Input Data將顯示您的十六進製字元串的欄位。

確保接收者知道如何將其轉換回來。他們可以使用像這樣的線上十六進製到文本轉換器。

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