유형 매개 변수로 계약을 호출하려면 어떻게해야합니까?
2 대답
- 투표
-
- 2019-02-11
Michelson 사양 에 따라 올바른 호출 규칙을 사용해야합니다..다음을 사용해야합니다.
(Pair "this is a string" "a signature string")
다른 하나의 순종-왜 SWAP을 반복합니까?이렇게하면 스택을 원래 상태로 효과적으로 되돌릴 수 있습니다.
As per the Michelson spec you need to use the correct calling convention. You should use the following:
(Pair "this is a string" "a signature string")
One other obeservation - Why do you have SWAP repeated? This effectively returns the stack to how it was.
-
무리 감사!Micelson 코드는 ReasonML-> Liquidity-> Michelson에서 변환되었으며 아마도 최적이 아닐 것입니다.Michelson 사양을 파헤쳐 야합니다. 코드가 반복되는 SWAP을 추가하는 이유를 확인하겠습니다. 다시 한 번 감사드립니다!Thanks a bunch! The Micelson code was transpiled from ReasonML -> Liquidity -> Michelson, perhaps not optimal. I need to dig into the Michelson spec, and I'll be sure to look into why the code is adding that repeated SWAP Thanks again!
- 0
- 2019-02-12
- asbjornenge
-
- 2019-02-12
Liquidity의
next
브랜치를 사용하는 경우 다음을 사용할 수 있습니다.-
liquidity CONTRACT.liq --call-arg main '{ name = "test"; sig = "abcd" }'
-tezos-client
에서 사용할 인수를 인쇄합니다 (여기서main
은 원하는 진입 점입니다) -
liquidity --re CONTRACT.liq
를 사용하여 ReasonML 구문으로 파일을 직접 컴파일합니다 (이전 명령에서도--re
인수 추가).
(더블
SWAP
은 최적화되지 않은 생성 코드입니다. 이후 버전에서 Michelson 코드에 최적화 단계를 추가 할 것입니다.)If you use the
next
branch of Liquidity, you can use :liquidity CONTRACT.liq --call-arg main '{ name = "test"; sig = "abcd" }'
to print the argument to be used bytezos-client
(wheremain
is the entry point you want)liquidity --re CONTRACT.liq
to directly compile a file in ReasonML syntax (add the--re
argument in the previous command also)
(the double
SWAP
is under-optimized generated code, we will add a pass of optimization on the Michelson code in a later version)-
좋은!여기에 좋은 피드백을 주셔서 감사합니다.Nice! Thanks for great feedback here Will try the `next` branch
- 1
- 2019-02-12
- asbjornenge
다음 계약이 있습니다.
doc
유형을 매개 변수로 사용하여이 계약을 어떻게 호출 할 수 있습니까?내가 찾은 모든 예제는 단일 문자열 또는 정수를 매개 변수로 사용합니다.노력하고 있습니다 :
tezos-client transfer 0 from yolo to docs --arg '{ name = "test"; sig = "abcd" }'
하지만 이것이 유동성이 매개 변수를 표현하는 방식이라고 생각합니다.