知世金融网专注于股票行情,期货开户,外汇储备等最新相关资讯信息提供投资者参考学习!

当前位置:网站首页 > 区块链 > 正文

Solidity智能合约演练系列第1部分

原创
文章作者
知世-金融领域资深作者
知名金融领域作者,从事金融超过十余年,在行业内有一定影响力。
金融风险管理师认证证书 常识职业资格认证 特许金融分析师 国际金融理财师认证证书
发布时间:2020-02-16 19:40:41 发布来源:区块链研究实验室 文章点击:104

本系列的基本思想是了解以Solidity编写的智能合约的技术流程和基于用例的概念。在本系列中,我们将介绍三个不同的用例:“财产拍卖”,“出租房地产”和“业务合作伙伴关系”。对...

目录

    本文标题Solidity智能合约演练系列第1部分,作者:知世,本文有1037个文字,大小约为5KB,预计阅读时间3分钟,请您欣赏。知世金融网众多优秀文章,如果想要浏览更多相关文章,请使用网站导航的搜索进行搜索。本站虽然不乏优秀之作,但仅作为投资者学习参考。

    本系列的基本思想是了解以Solidity编写的智能合约的技术流程和基于用例的概念。在本系列中,我们将介绍三个不同的用例:“财产拍卖”,“出租房地产”和“业务合作伙伴关系”。对于每个用例,我们将首先研究应涵盖的功能,然后了解技术实施细节。请记住这不是功能齐全的产品。这些智能合约已使用Ganache在本地进行了测试,并且不属于任何生产/测试网络。它们仅出于教育目的而开发。

    财产拍卖用例

    假设某个用户想通过拍卖出售自己的财产。为简单起见,将使我们的情况与拍卖类似(而不是完全拍卖)。基本方案是任何用户(财产所有者除外)都可以参与拍卖。每个参加者将有机会竞标和转让其竞标金额,智能合约将存储参与者的出价。任何时候业主想要的,他可以通过将财产所有权转让给最高出价者并将最高出价金额转移到自己的钱包地址来停止拍卖。其他参与者可以随时从智能合约中撤回各自的出价。除非所有其他用户都从合约中撤回了先前的竞价金额,否则新所有者将无法针对指定的财产再次开始拍卖。

    让我们开始…

    下面是要使用的不同数据类型:

    我们正在定义一个Property结构,该结构将存储属性名称和其他详细信息。由于可能有大量的详细信息,因此用户可以存储详细信息的哈希值(在合约外部准备详细信息哈希值)。我们具有status结构,该结构将跟踪以下内容:

    1. bidders:这将存储参加拍卖的人数。
    2. maximumBid:最高出价金额。
    3. maximumBidder:最高出价者的地址。
    4. biddingCompleted:检查拍卖是否已经完成的状态。

    所有者将把财产存储自己的钱包地址中,而isProspect是用于存储针对每个参与者的投标金额值的映射。

    定义了以下事件以确认各种交易:

    在智能合约部署时(调用构造函数时)将初始化的属性详细信息,合约状态字段和所有者钱包地址。还定义了在所有者和非所有者之间隔离各种函数的修饰符,如下所示:

    来到我们的竞价功能:

    使用nonOwner修饰符,此方法仅限于Owner。 如果交易成功,则返回true。由于各个参与者都将发送其投标金额(需要存储在合同中),因此被指定为应付。如果用户不是早期参与,我们将允许其参与(否则我们将还原交易,要求此处使用的操作员将帮助我们完成交易)。我们将为用户设置isProspect映射,增加参与者数量(bidders ++),并设置最高出价者和出价金额,以防用户数量超过其他参与者。 一旦交易成功,将发出reg事件,返回值为true。

    注意:任何带有payable选项的函数都将允许合约在自己的地址存储以太坊(在函数调用期间从用户收到的)的数量。

    只有所有者才能调用此方法并声明结果

    只允许所有者调用bidResult。这种方法会将财产所有权转让给出价最高的人,也会将出价最高的金额转移到当前所有者的地址并将拍卖标记为完成。它将最高出价者的isProspect映射重置为0并减少参与者数量(这将有助于我们跟踪剩余的正确参与者数量以提取其金额)。一旦交易成功,它将发出结果事件并返回真实的布尔值。

    帮助用户撤回各自出价的方法

    上述方法允许参与者撤回其各自存储的投标金额。每当任何用户希望退出拍卖或要在拍卖完成后取回其金额时,都可以调用此方法。此方法将针对用户检查isProspect映射的相应金额。 然后它将所需的金额转入用户的钱包地址。参加者人数也会减少,以反映实际参加者人数。请注意在宣布拍卖结果时重置最高出价者的isProspect映射,因为我们不希望拍卖赢家索赔。

    拍卖完成后,新的业主可能希望再次开始拍卖。在这种情况下,我们将确保上一轮拍卖的所有参与者是否都撤回了各自的金额,然后仅允许所有者再次开始拍卖。之所以施加这种条件,是因为我们要在此处重置关键参数,例如highestBid和highestBidder。

    一旦没有参与者留下,所有者就可以销毁拍卖合约并将存储的以太坊转移到他自己的地址(如果有)。

    希望你喜欢,教程尽可能简单的主要是带领大家理解总体实现思想。在下一部分,我们将通过物业租赁智能合约实例来进行讲解。

    本文相关推荐: Solidity智能合约演练系列第3部分

    以上便是知世金融网给大家分享的关于Solidity智能合约演练系列第1部分/qkl/28164.html的相关信息了,希望能帮助到大家,更多金融相关信息,敬请关注知世金融网!

    网站内容均来自互联网,如侵害您的利益联系客服进行删除!

    关键词:演练
    (0)
    (0)

    上一篇:鲸鱼凭一己之力推动了biteb牛市?

    下一篇:HiCoin领先的区块链钱包解决方案提供商

    本文标题:Solidity智能合约演练系列第1部分

    本文地址:/index.php?s=article&c=search&keyword=%E6%BC%94%E7%BB%83

    金融知名领域

    南方财富网 | 金融界 | 金融界 |

    更多推荐

    • 茅台吃饱,经销商哭倒
      茅台吃饱,经销商哭倒
    • 汇金的五次增持从短期看具有一定的“稳定器“作用,但从市场表现看效果逐次递减
      汇金的五次增持从短期看具有一定的“稳定器“作用,但从市场表现看效果逐次递减
    • 158亿元!比亚迪收购!
      158亿元!比亚迪收购!
    • 9月价格回落近五成 “冷静期”酒店业备战“十一”市场
      9月价格回落近五成 “冷静期”酒店业备战“十一”市场
    • 2023哈马博览会哈尔滨银行展区精彩纷呈
      2023哈马博览会哈尔滨银行展区精彩纷呈
    • 大额解禁撂倒股价 医疗影像龙头跌出千亿俱乐部 葛兰二季度大幅减仓
      大额解禁撂倒股价 医疗影像龙头跌出千亿俱乐部 葛兰二季度大幅减仓
    • A股,又上了热搜!数字要素概念走高多股涨停,锂电池板块走低恩捷股份大举跌停
      A股,又上了热搜!数字要素概念走高多股涨停,锂电池板块走低恩捷股份大举跌停
    • 最新!巨头出手,加仓宁王51%
      最新!巨头出手,加仓宁王51%
    • 600亿巨头暴雷
      600亿巨头暴雷
    • 一天32家!科创板回购潮涌来
      一天32家!科创板回购潮涌来
    • 提振信心实招来了!30余家上市公司密集出手 最高要买10亿
      提振信心实招来了!30余家上市公司密集出手 最高要买10亿
    • 高盛再发50年后预测:2075年印度股市全球市值占比将升4倍 中国升3成
      高盛再发50年后预测:2075年印度股市全球市值占比将升4倍 中国升3成

    新闻资讯栏目

    站长QQ: 2397470084