Menu
Woocommerce Menu

如何在Loom的BaseChain创建和部署智能合约:lol赛事投注

0 Comment

英雄联盟投注平台

lol下注平台:Loom Network为开发人员提供构建高性能面向用户的dapp所需的可扩展性和可用性。 loom网络为以太网赢得了第2层解决方案。 主要优点是1. 1-3秒的实证时间。

2 .用户必须支付煤气报酬。 3 .防止主网络交易的冗馀性。 4 .几乎与元掩码和其他主要以太网钱包兼容。

创建智能合同如果您是创建在Solidity中创建的智能合同的初学者,强烈建议您在Remix IDE中开发并用于智能合同。 那可以很好地测试一些功能。 Remix还没有为智能合同创建合同ABI和bytecode-。

以后需要构建到游戏客户端。 对于高级编码人员或专家,建议使用Truffle。

此外,Pranshu Rastogi的这个准则,Truffle也可以遵循互联网新闻网络,以制定和部署Loom的智能合同。 我们建立的智能合同是Game Engine Unity建立的小型单原型游戏,玩家可以在其中收集硬币。

这些硬币实质上是免费建立的,留在Loom区块链上! pragma solidity=0.5.0 0.6.0; ///@ authorjuliansakowski///@ titleaprototypegamecontractcontractcoincollector {///@ devtheamountofcc///@ devmapsthesubscribering/* @ devemitsongamestart.* @ param _ playertheaddressoftheplayerstartingthegame.*/eventonstartgame ()/* @ devemitsonacoinbeingcoler @ param _ playertheaddressoftheplayercollectingthecoin.* @ param _ coincountthecurrentcollectedcoincountoftheplayer.*/eventoncoing。 uint )/* @ devemitsongameend.* @ param _ playertheaddressoftheplayerendingthegame.*/eventonendgame (ADRE ES )/* @ noticecreatesthesmartcontractandinitializesthewincondition.* @ devtheconstructor是whichinitializesthewincondition.* @ param _ winconditiontheamountofcoinsrequiredtowinagame.*/constructor ()/* * @ noticeanyplayercanstartagameforhimorherself.* @ devv/* * @ noticeanyplayercancollectcoins.* @ devincreasesthecoincountforthemsg.senderandchecksforthevalidwinconnect emit oncoincollecte IF (Coincount [ MSG.Sender ]==Win Condition ) { EMITonendgame (MSG.Sender ) * * @ noticeshowsthecountofcollectedcoinsfortheactiveplayer.* @ devreturnsthecoincountcollectedbythemsg . @ returnthecountofcollectedcoins.*/functiongetcoincount () externalviewreturns (uint 256 ) { returncoincount一步一步,智能该原型游戏首先,我们设立标准化智能合同pragma solidity=0.5.0 0.6.0。

请注意,contract CoinCollector {}定义了编译器版本的范围。 必须在5.0版到6.0版之间。 这是因为较低版本可能包含安全问题,较高版本可能会破坏合同代码。

我们的合同叫CoinCollector。 也包括玩家获得游戏中必须收集的硬币数量这一胜利条件吧。 pragma solidity=0.5.0 0.6.0; contractcoincollector { uint 256 privatewincondition; constructor (uint 256 _ win condition ) public { win condition=_ win condition; 请注意。 我们设立了一个类型为uint256 (在那里是自然数)的全球变量“winCondition”。

它还包括构造函数。 智能合同部署后,构造函数具有类似的功能。 在这里,我们对参数定义了实际的胜利条件。

开始吧10 .为了更好地说明,用下划线结束参数,以便区分参数和全局变量。
我们的功能: pragma solidity=0.5.0 0.6.0; contractcoincollector { uint 256 privatewincondition; 映射(地址=uint 256 )私有内容计数; constructor (uint 256 _ win condition ) public { win condition=_ win condition; functionstartgame () external { coincount [ MSG.Sender ]=0; functioncollectcoin () external { coincount [ MSG.Sender ]=1; functiongetcoincount () externalviewreturns (uint 256 ) { returncoincount [ MSG.Sender ]; 请注意…除了构造函数之外,现在还创建了三个函数。

我们期待着开始游戏,收集硬币,交接关于已经收集了多少硬币的信息。 我们为每个函数获得了可见性修饰符。

可能的修饰符是公共、私有、国际和外部。 1. Public意味着任何人都可以调用公共函数。 2. Private意味着著不能从合同内部调用函数。 3. Internal允许在此函数中使用从父合同继承的合同。

4 .外部函数是合同模块的一部分,意味着可以从其他合同和事务中调用。 这意味着函数必须是私有的或内部的,除非您必须展开外部交互。 另外,本公司的getCoinCount函数有“view”关键字。 虽然添加了这个关键字,但是即使注册了这个函数内的记忆变量也不会改变。

我们只是“查”一些数据,比如我们的硬币。 为了追踪收集了多少硬币,我们加入了共同体coinCount。

英雄联盟投注平台

游戏开始时玩家的值被复位,玩游戏时每收集一枚硬币就减少一次。 我们的同源提供了地址(现在的玩家),它的值,即收集的硬币的计数“指”。 因此,必须将每个玩家的当前状态保留在coinCount中。

添加到最后一个代码段Events中吧。 Events对我们的客户来说是最重要的。 那必须让我们再次意识到发生了什么。

比如,我想告诉玩家什么时候开始比赛获胜,什么时候收集硬币。 pragma solidity=0.5.0 0.6.0; contractcoincollector { uint 256 privatewincondition; 映射(地址=uint 256 )私有内容计数; eventonstartgame (address _ player ); eventoncoincollected (地址播放器,uint256 _coinCount ); 事件onend game (地址播放器) constructor (uint 256 _ win condition ) public { win condition=_ win condition; functionstartgame () external { coincount [ MSG.Sender ]=0; emit onStartGame(msg.sender ); functioncollectcoin () external { coincount [ MSG.Sender ]=1; emit onCoinCollected(msg.sender,coinCount[msg.sender] ); IF (Coincount [ MSG.Sender ]==Win Condition ) { EMITonendgame (MSG.Sender ) } functiongetcoincount () externalviewreturns (uint 256 ) { returncoincount [ MSG.Sender ]; }请注意,有记忆变量的顶部添加了可能的事件。

每个事件都定义了所需的信息。 在collectCoin函数中,添加了if语句,用于始终检查只收集硬币的玩家是否满足胜利条件。

如果是这样,就会接收游戏结束的事件,客户端不会注意到该事件。 我们每次在代码里说“msg.sender”,都是指从交易中产生的地址,即播放器。 智能合同基本完成了。

一边随便玩一边收集其他功能,例如可以收集的所有硬币,收集不同的硬币类型,建立机制以成为多人参加型游戏。 是时候充分发挥你的创造力了! 要实施智能合同,必须首先在curl https://raw.github user content.com/loom network/loom-SDK-documentation/moom命令中添加loomsdk 以下命令创建部署智能合同所需的私钥。/loom genkey -k priv_key -a pub_key目前正在为智能合同创建二进制文件。

solc– bin– overwrite-o.coin collector.sol用于本二进制文档,将我们的智能合同部署到Loom Testnet (完全免费! 中选择所需的墙类型。 注册私钥“-k”、二进制文件“-b”、链URL“-u”和链ID“-chain”。
./loom deploy-k Priv _ key-Bcoilol下注平台ncollector.BIN-u 336080– Chain“EXT DEV-Plasma-US1”的结果不得如下。

newcontractdeployedwithaddress : EXT DEV-Plasma-US 133600 XFC 4c E0 e 01e 8f DD 309 AF 77564 BF 5b E8 B7 DE 79 E3e9runtime Bytecode 33660197016 6 4 54 16 97 0 94 87 96 0 53 124 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 144 4 128 99 171 126 56 160 2 0 97 0 99 87 12899 202 83 16 17 2 20 97 0 129 87 128 99 214 90 181 242 20 97 0 139 87 9196 0 128 253 91 97 0 107 97 0 149 86 91 96 64 81 128 130 129 82 96 32 1145 80 80 96 64 81 128 145 3 144 243 91 97 0 137 97 0 220 86 91 0 91 970 147 97 2 130 86 91 0 91 96 0 96 1 96 0 51 115 255 255 255 255 255 25525 5 255 255 255 255 255 255 255 255 255 255 255 255 255 22 115 255 255255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 25522 129 82 96 32 1 144 129 82 96 32 1 96 0 32 84 144 80 144 86 91 96 1128 96 0 51 115 255 255 255 255 255 255 255 255 255 255 255 255 255 255255 255 255 255 255 255 22 115 255 255 255 255 255 255 255 255 255 255255 255 255 255 255 255 255 255 255 255 22 129 82 96 32 1 144 129 82 9632 1 96 0 32 96 0 130 130 84 1 146 80 80 129 144 85 80 127 191 239 136214 251 22 149 67 110 98 57 38 222 62 24 3 239 224 63 35 239 35 206 3619 14 22 231 220 54 231 86 87 51 96 1 96 0 51 115 255 255 255 255 255255 255 255 255 255 255 255 255 255 255 255 255 255 25 5 255 22 115 255255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255255 22 129 82 96 32 1 144 129 82 96 32 1 96 0 32 84 96 64 81 128 131 115255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255255 255 22 115 255 255 255 255 255 255 255 255 255 255 255 255 255 2 5525 5 255 255 255 255 255 22 129 82 96 32 1 130 129 82 96 32 1 146 80 8080 96 64 81 128 145 3 144 161 96 0 84 96 1 96 0 51 115 255 255 255 255255 255 255 2 55 255 255 255 255 255 255 255 255 255 255 255 255 22 115255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255255 255 22 129 82 96 32 1 144 129 82 96 32 1 96 0 32 84 20 21 97 2 12887 127 241 146 45 227 151 135 44 67 217 208 185 165 167 164 56 126 82138 167 86 234 251 122 48 14 9 77 42 177 197 150 123 193 51 96 64 81 128130 115 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255255 255 255 255 22 115 255 255 255 2 55 255 2 55 255 255 255 255 255 255255 255 255 255 255 255 255 255 22 129 82 96 32 1 145 80 80 96 64 81 128145 3 144 161 91 86 91 96 0 96 1 96 0 51 115 255 255 255 255 255 255255 255 255 255 255 255 255 255 255 255 255 255 255 255 22 115 255 255255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 25 5 25522 129 82 96 32 1 144 129 82 96 32 1 96 0 32 129 144 85 80 127 164 24168 129 11 81 212 86 200 190 242 122 103 50 143 121 1 217 23 209 1 55 38140 19 0 174 131 119 90 81 239 236 96 51 96 64 81 128 130 115 255 255255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 25522 115 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255255 255 255 255 22 129 82 96 32 1 145 80 80 96 64 81 128 145 3 144 16186 254 161 101 9 8 122 122 114 48832375912514803617624822094181012171942064116251207104406519415702082541179741 ] transaction receipt : e 9810 a 90a1cece BCE9C5 D2 B 19f 152 EA 52029 d 574 F9 AE 1cd 08 CCE 30 D3 AF 65 F4部署的智能合同地址是“0xfc4ce0e01e8fdd309at 现在可以在Loom Block Explorer中搜索了。 你需要向游戏客户端添加智能合同地址。

非常好! 智能合同已经完全开发出来了。 在Unity开始玩迷你游戏吧。 马上用于你的智能合同!-lol下注平台。

本文来源:lol赛事投注-www.deioncarpenter.com

相关文章

网站地图xml地图