Solidity远程购买示例学习笔记

这篇具有很好参考价值的文章主要介绍了Solidity远程购买示例学习笔记。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

该示例中买家支付并确认交易后,交易进入锁定状态,待买家确认收货后,交易完成,合约将退回押金给买家和转账交易金额给卖家。其中在不同的交易环节过程中会触发不同的事件发生。

与中心化交易相比,由于失去了类似某宝的中间人角色,需要在交易中添加对买卖双方的保障:

  • 对于买方而已,在支付交易金额后,交易会进入锁定状态,交易金额会被冻结,只有在买家确认满意收货后,卖方才会收到货款;
  • 对于卖方而已,买方需要在支付交易金额的同时多支付一倍的押金,俗称“买一押一”,同时卖方可以根据情况在交易锁定前提出取消交易。

solidity 押金支付,Solidity,学习,区块链文章来源地址https://www.toymoban.com/news/detail-619220.html


pragma solidity ^0.4.21;

//定义变量:押金、卖家、买家、交易状态
contract Purchase {
   
    uint public value;
    address public seller;
    address public buyer;
    enum State {
    Created, Locked, Inactive }
    State public state;


	//押金方式设置为"押一付一",即对应value = msg.value / 2
    //确保 `msg.value` 是一个偶数。如果它是一个奇数,则它将被截断
    function Purchase() public payable {
   
        seller = msg

到了这里,关于Solidity远程购买示例学习笔记的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • solidity笔记1(基础部分)

     以太坊Solidity是一种面向智能合约的高级语言,其语法与JavaScript类似。solidity是用于生成在EVM上执行的机器级代码的工具。solidity编译器获取高级代码并将其分解为更简单的指令。Solidity代码封装在Contracts中。 因为之前实验课程已经完成了相关内容,所以主要整理一部分个人

    2023年04月15日
    浏览(49)
  • 【区块链技术开发】 Solidity使用Truffle Box工具实现预构建模板、自动化部署、创建智能合约示例代码

    专栏:区块链技术开发 Truffle Box是一个开发工具,为Truffle生态系统中的开发人员提供了预构建

    2023年04月16日
    浏览(71)
  • Solidity,智能合约的学习(1)

    Solidity是一种智能合约高级语言,运行在Ethereum虚拟机(EVM)上,Solidity是面向对象的高级语言,用于实现智能合约。智能合约是管理以太坊状态内的账户行为的程序。 BitPen认为,作为Web3的链上玩家,那么能够看懂Solidity代码将会是一项必备的技能,因为大多区块链项目都是在

    2024年01月23日
    浏览(55)
  • solidity学习记录 3 (地址与交易)

    智能合约中的地址 合约中的地址等同于uint160类型 合约当中的地址可以被比较 地址中余额的获取与转账操作  那新建一个地址类型时可以通过address.balance 来获取当前地址的余额 若一个函数中需要进行转账操作需要在函数中加上payable this指向的是当前合约的地址 若对当

    2023年04月24日
    浏览(37)
  • 以太坊开发学习-solidity(三)函数类型

    目录 函数类型 函数类型 solidity官方文档里把函数归到数值类型 函数类型是一种表示函数的类型。可以将一个函数赋值给另一个函数类型的变量, 也可以将一个函数作为参数进行传递,还能在函数调用中返回函数类型变量。 函数类型有两类:-  内部(internal)  函数和  外

    2024年04月09日
    浏览(58)
  • solidity学习-如何在智能合约中打印Log日志

    在写合约的过程中经常会遇到一些错误。这个时候想要查看合约运行过程中的一些数据,那么就可以用以下方法: 在合约中创建一个Event,起名为Log 在想要打印日志的地方调用事件 emit Log(...),就可以查看运行过程中的数据了 如下图: 点击deploy,在控制台就可以查看打印出

    2024年02月11日
    浏览(45)
  • 区块链web3智能合约Solidity学习资源整理

    Solidity 是一门面向合约的、为实现智能合约而创建的高级编程语言。这门语言受到了 C++,Python 和 Javascript 语言的影响,设计的目的是能在以太坊虚拟机(EVM)上运行。 Solidity中文官方文档: https://solidity-cn.readthedocs.io/zh/develop/ https://learnblockchain.cn/docs/solidity/index.html 在线rem

    2024年03月19日
    浏览(73)
  • 【区块链 | EVM】深入理解学习EVM - 深入了解 Solidity:堆栈

    探讨 EVM 堆栈机器,以及如何在堆栈中推入和弹出数据 原文链接: https://betterprogramming.pub/solidity-tutorial-all-about-stack-c1ec6070fe60 探讨 EVM 堆栈机器,以及如何在堆栈中推入和弹出数据 图片来源:Iva Rajović on Unsplash 这是\\\"深入Solidity数据存储位置\\\"系列的第四篇,其他三篇: 深入

    2024年02月09日
    浏览(48)
  • 【区块链学习最全教程】学习 Solidity,全栈 Web3,Javascript 和区块链开发

    Chainlink 开发者社区发布了一个关于全栈 web3,solidity 和区块链开发的完整视频教程。本视频教程由 Chainlink 开发者大使 Patrick Collins 讲解。教程由浅入深讲解了区块链的基础知识,智能合约基础以及流行的开发工具。视频内容覆盖广泛,不论是初学者还是资深工程师,都会从中

    2023年04月09日
    浏览(58)
  • 【区块链 | EVM】深入理解学习EVM - 深入Solidity数据存储位置:内存

    图片来源: Mech Mind on Unsplash 这是深入Solidity数据存储位置系列的另一篇。在今天的文章中,我们将学习EVM内存的布局,它的保留空间,空闲内存指针,如何使用 memory 引用来读写内存,以及使用内存时的常规最佳做法。 我们将使用 Ethereum Name Service (ENS)中的合约代码片段,

    2024年02月02日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包