Existe-t-il un moyen d'appeler une fonction dans un contrat d'une fonction dans un autre contrat?
1 réponses
- votes
-
- 2019-02-14
Les contratsne renvoient actuellement aucune donnée.Vous devez utiliser des rappelspour latransmission de donnéesen chaîne ou utiliser un oracle hors chaîne.
sur la chaîne,vous utilisez letransfert_tokens;Instruction àenvoyer du contrat A au contratb.Le contrat Benverrait alors des données sur un autretransfert_Token;appeler.Vous devezmettre àjour le stockage du contrat Apour reconnaître qu'un appelestimminent.
Contracts don't currently return any data. You should use callbacks for on-chain data transmission, or use an off-chain oracle.
On chain, you use the TRANSFER_TOKENS; instruction to send from contract a to contract b. Contract b would then send data back via another TRANSFER_TOKEN; call. You should update the storage of contract a to acknowledge that a call back is imminent.
-
C'est lathéorie.Enpratique,ilestpresqueimpossible de l'écrire,à cause du système detype.B doit connaître letype de A,donc vous devez vous déployer à lafois des contrats,ou vous devez créer un contratintermédiaire C qui connaît untype compatible avec B. Nousposterons unposte deblog sur cebientôt.That’s the theory. In practice, it’s almost impossible to write it, because of the type system. B has to know the type of A, so either you have to deploy both contracts, or you have to originate an intermediary contract C that knows A and has a type compatible with B. We will post a blog post on that soon.
- 2
- 2019-02-14
- lefessan
-
Oui,nous développons un cadrepour aider avec cela.Yeah, we're developing a framework to help with this.
- 0
- 2019-02-14
- Stephen Andrews
-
À unmoment donné,la liquidité aura un soutien autochtonepour cela aussi.At some point, Liquidity will have native support for that too.
- 0
- 2019-02-14
- lefessan
-
@FLFOCPpeut-être écrivez-le comme une réponse séparée?@FLFOCP perhaps write this as a separate answer ?
- 0
- 2019-02-14
- Ezy
-
La réponse auxproblèmesmentionnés ci-dessus sont lespoints d'entrée,qui sont décritsplusen détail dans ceblogpost: https://blog.nomadic-labs.com/category/in-depth.html#multiple -entrypsThe answer to the problems mentioned above are entrypoints, which are described in more detail in this blog post: https://blog.nomadic-labs.com/category/in-depth.html#multiple-entrypoints
- 0
- 2019-12-03
- arvidj
Je veux avoir deux contrats différents ayant desfonctions qui devraientinteragir les uns avec les autres.Existe-t-il unmoyen depasser/retourner des valeurs via un appel defonctionentre les contrats?