コントラクトデプロイメントでストレージを初期化中にエラーが発生しました
1 回答
- 投票
エラーメッセージは、正しく初期化できなかったタイプを説明しています:「タイプペア(マップアドレスmutez)(マップアドレスタイムスタンプ)の式ではありません」.
最初に、各マップを中括弧{}で指定する必要があります.中括弧内のすべての要素は、Eltで始まり、セミコロンで他の要素から区切られます.あなたの場合、マップごとに要素が1つしかないため、セミコロンは必要ありません.
次のものを使用します
--init 'Pair { Elt "KT1address" 1 } { Elt "KT1address" "2019-06-09 00:00:00" }'
各マップを2つの要素で初期化すると、次のようになります.
--init 'Pair { Elt "KT1addressone" 1 ; Elt "KT1addresstwo" 1} { Elt "KT1addressone" "2019-06-09 00:00:00" ; Elt "KT1addresstwo" "2019-06-09 00:00:00" }'
Your error message describes the type you are failing to initialize properly: "is not an expression of type pair (map address mutez) (map address timestamp)".
First you need to specify each map with braces { }, and every element inside the braces begins with an Elt and is separated from other elements by a semi-colon. In your case you only have one element per map so you don't need any semi-colon.
You would use the following,
--init 'Pair { Elt "KT1address" 1 } { Elt "KT1address" "2019-06-09 00:00:00" }'
if you were initializing each map with 2 elements, it would look like,
--init 'Pair { Elt "KT1addressone" 1 ; Elt "KT1addresstwo" 1} { Elt "KT1addressone" "2019-06-09 00:00:00" ; Elt "KT1addresstwo" "2019-06-09 00:00:00" }'
次のコマンドを使用しています:
./tezos-client originate contract TestContract for tz1address transferring 1 from tz1address running contes.fi --init 'pair (map "KT1address" 1) (map "KT1address" "2019-06-09 00:00:00")'
エラーが発生する:
Ill typed data: 1: (pair (map "KT1address" 1) 2: (map "KT1address" "2019-06-09 00:00:00")) is not an expression of type pair (map address mutez) (map address timestamp) From line 1 character 0 to line 2 character 71, value (pair (map "KT1address" 1) (map "KT1address" "2019-06-09 00:00:00")) is invalid for type pair (map address mutez) (map address timestamp). From line 1 character 0 to line 2 character 71, unexpected type name pair, only a constant constructor can be used here.
私が間違っていることを説明してください.