¿Cómo especificar el punto de entrada del contrato inteligente en la llamada eztz?
1 respuesta
- votos
Michelsonno admite variospuntos deentradaen estemomento.La liquidez utiliza uniones (o variables detipo)para compensaresto.Una unióntiene un ladoizquierdo y derecho,perotambién sepuede anidar.
Analicemoselparámetro del scriptproporcionado:
parameter
(or :_entries
(int %_Liq_entry_create) <-- Left Side
(int %_Liq_entry_main)) <-- Right Side
;
Entonces,para llamar alprimerpunto deentrada,usaría lo siguienteen eztz:
eztz.contract.send(contract,from, keys, amoun, "(Left 1)", gasLimit,storageLimit)
Para acceder al segundopunto deentrada,usaría:
eztz.contract.send(contract,from, keys, amoun, "(Right 1)", gasLimit,storageLimit)
Estonoesespecífico deeztz,pero se aplica a las llamadas a contratosinteligentes desdetodas las carterase incluso desdeel clientetezos.
Michelson doesn't support multiple entry points right now. Liquidity uses unions (or type variables) to make up for this. A union has a Left and Right side, but can also be nested.
Let's analyse the parameter of the script provided:
parameter
(or :_entries
(int %_Liq_entry_create) <-- Left Side
(int %_Liq_entry_main)) <-- Right Side
;
So, to call the first entry point, you would use the following in eztz:
eztz.contract.send(contract,from, keys, amoun, "(Left 1)", gasLimit,storageLimit)
To access the second entry point, you would use:
eztz.contract.send(contract,from, keys, amoun, "(Right 1)", gasLimit,storageLimit)
This is not specific to eztz, but applies to calling smart contracts from all wallets and even the tezos-client.
Quiero llamar a un contratointeligente coneztz:
Cómoespecificarelpunto deentrada,mi contratointeligentetiene variospuntos deentrada: