[英]I am trying to test this liquidity smart contract code but if shows error. Liquidity is similar to ocaml, tezos's smart contract language.
I have been trying to test the first entry point of this game which is play. 我一直试图测试这个游戏的第一个切入点。 But when it tries to compile it, there's some error showing. 但是当它试图编译它时,会出现一些错误。 How do I proceed or is there something I am missing? 我该怎么办?或者我有什么遗失的东西?
[%%version 0.4]
type game = {
number : nat;
bet : tez;
player : key_hash;
}
type storage = {
game : game option;
oracle_id : address;
}
let%entry play (number : nat) storage =
if number>100p then Current.failwith "number must be <=100";
if 2p.Current.amount()>Current.balance() then Current.failwith"less balance";
match storage.game with
|some g -> failwith ("game has already started",g)
|None ->
let bet = Current.amount() in
let storage = storage.game <- Some {number, bet, player} in
(([]:operation list),storage)
You forgot to initialize, add this code: 你忘了初始化,添加这段代码:
let%init storage (oracle_id : address) =
{game = (None : game option); oracle_id}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.