eztz 호출에서 스마트 계약 진입 점을 지정하는 방법은 무엇입니까?
1 대답
- 투표
Michelson은 현재 여러 진입 점을 지원하지 않습니다.유동성은이를 보완하기 위해 공용체 (또는 유형 변수)를 사용합니다.공용체에는 왼쪽과 오른쪽이 있지만 중첩 될 수도 있습니다.
제공된 스크립트의 매개 변수를 분석해 보겠습니다.
parameter
(or :_entries
(int %_Liq_entry_create) <-- Left Side
(int %_Liq_entry_main)) <-- Right Side
;
따라서 첫 번째 진입 점을 호출하려면eztz에서 다음을 사용합니다.
eztz.contract.send(contract,from, keys, amoun, "(Left 1)", gasLimit,storageLimit)
두 번째 진입 점에 액세스하려면 다음을 사용합니다.
eztz.contract.send(contract,from, keys, amoun, "(Right 1)", gasLimit,storageLimit)
이것은eztz에만 국한된 것은 아니지만 모든 지갑과 심지어tezos-client에서 스마트 계약을 호출하는 데 적용됩니다.
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.
eztz와 스마트 계약을 체결하고 싶습니다 :
입력 점을 지정하는 방법,내 스마트 계약에는 여러 진입 점이 있습니다.