web3系列———4.编写第一个智能合约并发布到链上

本篇教程为在以太坊区块链上发布一个智能彩票合约,活动期间用户可充值一定金额的以太币到合约地址,活动结束进行开奖,随机从参与用户中抽取3人,平分奖池奖金。(分为上下两篇)(本篇为下)

教程思路:

  1. 新建以太坊钱包
  2. 充值一定数额ETH作为合约发布汽油费
  3. Remix编写solidity智能合约
  4. 发布到链上

再次明确合约发布的流程:

用solidity或Vyper编写好智能合约代码=>编译为EVM可执行的字节码=>打包整个交易广播给以太坊的某些节点=>等待其被放入某个区块=>完成


编写Solidity智能合约:

Remix是什么:

Remix是一个专门编写智能合约的 WebIDE(web集成环境),支持Solidity和Vyper,可从浏览器直接访问,并且连接到 MetaMask从而发布交易。
所以我们只需要编写智能合约的代码,Remix会自动帮我们编译为EVM字节码,发布到区块链中。
跳转Remix
在自动帮我们创建好的contracts目录下新建Lottery.sol:

代码思路:

构造函数:

  1. 设置合约拥有者为部署合约的用户。
  2. 传入彩票的活动的持续时间,
  3. 将彩票活动标记为False(未结束)

用户参与函数:

  1. 允许任何用户调用
  2. 要求至少0.1个ETH才能参与活动
  3. 检查活动是否结束
  4. 活动未结束=>将参与用户的地址添加到参与者组中
  5. 触发彩票参与事件=>记录日志

彩票结束函数:

  1. 合约拥有者可调用
  2. 检查是否已到结束时间
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值