精华内容
下载资源
问答
  • 以太坊购买
    千次阅读
    2019-05-08 11:47:09

    pragma solidity >=0.4.22 <0.7.0;
    
    contract Purchase {
        uint public value;
        address payable public seller;
        address payable public buyer;
        enum State { Created, Locked, Inactive }
        State public state;
    
        //确保 `msg.value` 是一个偶数。
        //如果它是一个奇数,则它将被截断。
        //通过乘法检查它不是奇数。
        constructor() public payable {
            seller = msg.sender;
            value = msg.value / 2;
            require((2 * value) == msg.value, "Value has to be even.");
        }
    
        modifier condition(bool _condition) {
            require(_condition);
            _;
        }
    
        modifier onlyBuyer() {
            require(
                msg.sender == buyer,
                "Only buyer can call this."
            );
            _;
        }
    
        modifier onlySeller() {
            require(
                msg.sender == seller,
                "Only seller can call this."
            );
            _;
        }
    
        modifier inState(State _state) {
            require(
                state == _state,
                "Invalid state."
            );
            _;
        }
    
        event Aborted();
        event PurchaseConfirmed();
        event ItemReceived();
    
        ///中止购买并回收以太币。
        ///只能在合约被锁定之前由卖家调用。
        function abort()
            public
            onlySeller
            inState(State.Created)
        {
            emit Aborted();
            state = State.Inactive;
            seller.transfer(address(this).balance);
        }
    
        /// 买家确认购买。
        /// 交易必须包含 `2 * value` 个以太币。
        /// 以太币会被锁定,直到 confirmReceived 被调用。
        function confirmPurchase()
            public
            inState(State.Created)
            condition(msg.value == (2 * value))
            payable
        {
            emit PurchaseConfirmed();
            buyer = msg.sender;
            state = State.Locked;
        }
    
        /// 确认你(买家)已经收到商品。
        /// 这会释放被锁定的以太币。
        function confirmReceived()
            public
            onlyBuyer
            inState(State.Locked)
        {
            emit ItemReceived();
            // 首先修改状态很重要,否则的话,由 `transfer` 所调用的合约可以回调进这里(再次接收以太币)。
            state = State.Inactive;
    
            // 注意: 这实际上允许买方和卖方阻止退款 - 应该使用取回模式。
            buyer.transfer(value);
            seller.transfer(address(this).balance);
        }
    }
    更多相关内容
  • 以太坊上的所有操作都是要消耗gas的,gas是要用以太币(Ether)的; 以太坊的生态系统出现端倪,DApp的雏形已经有了; 阅读以太坊黄皮书是最佳的学习方法 以太坊入门学习指南 以太坊DApp编程全流程 基本测试环境 ...
  • 一个简单的基于以太坊区块链的智能合约/前端应用程序,用于购买和共享星星。 规格 松露版本-> v5.1.65 OpenZeppelin版本-> v2.1.2 ERC721代币名称-> Sun Star Notary ERC721令牌符号-> SSN 令牌地址-> 0xbe033c1...
  • 以太坊历史发展

    2022-09-13 11:41:51
    这发生于 2020 年 11 月 27 日,意味着信标链在 2020 ...柏林升级优化了某些以太坊虚拟机操作的燃料成本,并增加了对多种交易类型的支持。以太币的预售期为 42 天, 可以使用比特币进行购买。以太币价格:2,621 美元。

    白皮书发布(2013 年)

    2013 年 11 月 27 日 以太坊项目在 2015 年启动。但早在 2013 年,以太坊的创始人 Vitalik Buterin 就发表了这一介绍性文章

    https://ethereum.org/zh/whitepaper/

    黄皮书发布(2014 年 4 月 1 日)

    Gavin Wood 博士撰写的黄皮书,关于以太坊协议的技术定义

    https://github.com/ethereum/yellowpaper

    公开募资(2014 年 -07 -0 9)

    2014 年 7 月 22 日 - 9 月 2 日

    以太币的预售期为 42 天, 可以使用比特币进行购买

    forntire边境版本发布 (2015 年 7 月 30 日)

    在上面能做的事情很少。 该版本在奥利匹克测试阶段成功完成之后推出。 它面向的是技术用户,特别是开发者。 每个区块都有 5,000 的燃料限制。 此“解冻”期使矿工能够开始操作,并使早期采用者能够有足够的时间来安装客户端

     以太币价格:1.24 美元

     区块编号:0

    homestead家园版本发布 (2016 年 3 月 14 

    家园分叉展望未来, 包括若干协议修改和联网变更,使以太坊能够进一步进行网络升级

    以太币价格:12.50 美元

     区块编号:1,150,000

    拜占庭升级 (2017 年 10 月 16 日 年 )

    以太币价格:334.3 美元

    拜占庭分叉

    将区块挖矿奖励从 5 个以太币减少到 3 个以太币

    将难度炸弹推迟一年

    增加了调用其他合约而不更改状态的能力

    增加了某些加密方法,以实现二层网络扩容

     区块编号: 4,70,000

    君士坦丁堡 升级 (2019 年 2 月 28 日)

    以太币价格:136.29 美元

    君士坦丁堡分叉

    确保在实现权益证明之前,区块链不会冻结

    优化了以太坊虚拟机中特定操作的燃料成本

    添加了与尚未创建的地址进行交互的能力

    区块编号:7,280,000

    伊斯坦布尔(2019 年 12 月 8 日)

    区块编号:9,069,000

    以太币价格:151.06 美元

    伊斯坦布尔分叉:

    • 优化了以太坊虚拟机中特定操作的燃料成本
    • 提高受到拒绝服务攻击后的复原能力
    • 使基于简洁的非交互式知识论证和可扩展的透明知识论证的二层网络扩容解决方案具有更佳的性能。
    • 使以太坊和 Zcash 能够互操作
    • 让合约能够引入更多创造性功能

    伦敦升级(2021 年 8 月 5 日)

     以太币价格:2,621 美元

    伦敦升级引入了 EIP-1559,对交易费市场进行了改革,同时还对燃料费用的退款处理方式和冰河世纪日程进行了修改

    区块编号:12,965,000

    柏林升级(2021 年 4 月 15 日)

    以太币价格:2,454 美元

    柏林升级优化了某些以太坊虚拟机操作的燃料成本,并增加了对多种交易类型的支持

    区块编号:12,244,000

     信标链创世块 (2020 年 12 月 1 日)

    以太币价格:586.23 美元

    信标链需要 16384 个拥有 32 个质押以太币的账户,以确保安全上线。 这发生于 2020 年 11 月 27 日,意味着信标链在 2020 年 12 月 1 日开始生产区块。 这是实现以太坊愿景的第一步,十分重要 https://ethereum.org/zh/upgrades/beacon-chain/

    信标链区块编号:1

    图:

     

     

    04e5e150a7f045238b872f374c9c0670.png

    ​​​​​​ 

     

     

    展开全文
  • 工作量证明(PoW)被大家诟病的是能耗太大,比特币一笔交易需要1000度电左右,以太坊因出块时间短,一笔交易大概是67度电左右。 工作量证明中矿工通过购买矿机、GPU等来挖矿,从而获得出块奖励,获得的奖励由算力...
  • 本文是对以太坊和智能合约的基本原理的一个入门的了解,方便比较深入的了解他是做什么的
  • 一、以太坊简介 以太坊(Ethereum)项目的最初目标是打造一个运行智能合约的平台(Platform for Smart Contract),支持图灵完备的应用,按照智能合约的约定逻辑自动执行,理想情况下将不存在故障停机、审查、欺诈以及...

    一、以太坊简介

    以太坊(Ethereum)项目的最初目标是打造一个运行智能合约的平台(Platform for Smart Contract),支持图灵完备的应用,按照智能合约的约定逻辑自动执行,理想情况下将不存在故障停机、审查、欺诈以及第三方干预等问题。

    以太坊平台目前支持Golang、C++、Python等多种语言实现的客户端。由于核心实现上基于比特币网络的核心思想进行了拓展,因此在很多设计特性上都与比特币网络十分类似。

    基于以太坊项目,以太坊团队目前运营了一条公开的区块链平台——以太坊网络。智能合约开发者使用官方提供的工具和以太坊专用应用开发语言Solidity,可以很容易开发出运行在以太坊网络上的去中心化应用(Decentralized Application,DAPP)。DAPP应用将运行在以太坊的虚拟机(Ethereum Virtual Machine,EVM)里。用户通过以太币(Ether)来购买燃料

    (Gas),维持所部署应用的运行。

    以太坊项目官网:www.ethereum.org

    以太坊项目代码托管:www.github.com/ethereum

    以太坊区块链底层也是一个P2P网络平台,智能合约运行在网络中的以太

    坊虚拟机里。网络自身是公开可接入的,任何人都可以接入并参与网络中数据的维护,提供运行以太坊虚拟机的资源。

    以太坊区块链的技术特点主要包括:

    A、支持图灵完备的智能合约,设计了编程语言Solidity和虚拟机EVM

    B、选用内存需求较高的哈希函数,避免出现强算力矿机、矿池攻击

    C、叔块(Uncle Block)激励机制,降低矿池的优势,并减少区块产生间隔

    D、采用账户系统和世界状态,而不是UTXO,容易支持更复杂的逻辑

    E、通过Gas限制代码执行指令数,避免循环执行攻击

    F、支持POW共识算法,并计划支持效率更高的POS算法

    此外,开发团队还计划通过分片(Sharding)方式来解决网络可扩展性问题。

    二、以太坊核心概念

    1、智能合约

    智能合约(Smart Contract)是以太坊中最为重要的一个概念,即以计算机程序的方式来缔结和运行各种合约。以太坊支持通过图灵完备的高级语言(包括Solidity、Serpent、Viper)等来开发智能合约。

    智能合约作为运行在以太坊虚拟机(Ethereum Virual Machine,EVM)中的应用,可以接受来自外部的交易请求和事件,通过触发运行提前编写好的代码逻辑,进一步生成新的交易和事件,可以进一步调用其它智能合约。

    智能合约的执行结果可能对以太坊网络上的账本状态进行更新。对账本状态的修改由于经过了以太坊网络中的共识,一旦确认后无法被伪造和篡改。

    2、账户

    以太坊直接用账户来记录系统状态。每个账户存储余额信息、智能合约代码和内部数据存储等。以太坊支持在不同的账户之间转移数据,以实现更为复杂的逻辑。

    以太坊账户分为两种类型:合约账户(Contracts Accounts)和外部账户(Externally Owned Accounts,EOA)。

    合约账户:存储执行的智能合约代码,只能被外部账户来调用激活。

    外部账户:以太币拥有者账户,对应到某公钥。账户包括nonce、balance、

    storageRoot、codeHash等字段,由个人来控制。

    当合约账户被调用时,存储其中的智能合约会在矿工处的虚拟机中自动执行,并消耗一定的燃料。燃料通过外部账户中的以太币进行购买。

    3、交易

    交易(Transaction),在以太坊中是指从一个账户到另一个账户的消息数据。消息数据可以是以太币或者合约执行参数。

    以太坊采用交易作为执行操作的最小单位。每个交易包括如下字段:

    To:目标账户地址。

    Value:可以指定转移的以太币数量。

    Nonce:交易相关的字串,用于防止交易被重放。

    gasPrice:执行交易需要消耗的Gas价格。

    Startgas:交易消耗的最大Gas值。

    Signature:签名信息。

    在发送交易时,用户需要缴纳一定的交易费用,通过以太币方式进行支付

    和消耗。目前,以太坊网络可以支持超过比特币网络的交易速率(可以达到每秒几十笔)。

    4、以太币

    以太币(Ether)是以太坊网络中的货币。

    以太币主要用于购买燃料,支付给矿工,以维护以太坊网络运行智能合约的费用。以太币最小单位是wei,一个以太币等于 10^18个wei。

    以太币可以通过挖矿来生成,成功生成新区块的以太坊矿工可以获得5个以太币的奖励以及包含在区块内交易的燃料费用。用户也可以通过交易市场来直接购买以太币。

    目前每年大约可以通过挖矿生成超过一千万个以太币,单个以太币的市场价格目前超过200美金。

    5、燃料

    燃料(Gas),控制某次交易执行指令的上限。每执行一条合约指令会消耗固定的燃料。当某个交易还未执行结束,而燃料消耗完时,合约执行终止并回滚状态。

    Gas可以跟以太币进行兑换。以太币的价格是波动的,但运行某段智能合约

    的燃料费用可以是固定的,通过设定Gas价格等进行调节。

    三、以太坊主要设计

    1、智能合约

    以太坊采用以太坊虚拟机(EVM)作为智能合约的运行环境。以太坊虚拟机是一个隔离的轻量级虚拟机环境,运行在其中的智能合约代码无法访问本地网络、文件系统或其它进程。

    对同一个智能合约来说,通常需要在多个以太坊虚拟机中同时运行多份,以确保整个区块链数据的一致性和高度的容错性,但也限制了整个网络的容量。

    以太坊为编写智能合约设计了图灵完备的高级编程语言,降低了智能合约开发的难度。目前Solidity是最常用的以太坊合约编写语言之一。智能合约编写完毕后,用编译器编译为以太坊虚拟机专用的二进制格式(EVM bytecode),由客户端上传到区块链当中,在矿工的以太坊虚拟机中执行。

    2、交易模型

    以太坊采用了账户的模型,状态可以实时的保存到账户里,而无需像比特币的UXTO模型去回溯整个交易历史。

     3、共识

    以太坊目前采用基于成熟的POW共识的变种算法Ethash协议作为共识机制。

    为了防止ASIC矿机矿池的算力攻击,跟原始POW 的计算密集型Hash 运算不同,Ethash 在执行时候需要消耗大量内存,反而跟计算效率关系不大。因此,很难制造出专门针对Ethash的芯片,反而通用机器可能更加有效。

    虽然,Ethash相对原始的POW进行了改进,但仍然需要进行大量无效的运算,以太坊网络社区已经有计划在未来采用更高效的Proof-of-Stake(POS)作为共识机制。

    4、降低攻击

    以太坊网络中的交易更加多样化,也就更容易受到攻击。

    以太坊网络在降低攻击方面的核心设计思想仍然是通过经济激励机制防止少数人作恶:

    A、所有交易都要提供交易费用,避免DDoS攻击

    B、程序运行指令数通过Gas来限制,所消耗的费用超过设定上限时就会被取消,避免出现恶意合约。

    确保攻击者试图消耗网络中虚拟机的计算资源时,需要付出经济代价(支付大量的以太币);同时难以通过构造恶意的循环或不稳定合约代码来对网络造成破坏。

    5、提高扩展性

    可扩展性是以太坊网络承接更多业务量的最大制约。

    以太坊项目未来希望通过分片(sharding)机制来提高整个网络的扩展性。分片是一组维护和执行同一批智能合约的节点组成的子网络,是整个网络的子集。

    支持分片功能前,以太坊整个网络中的每个节点都需要处理所有的智能合约,造成了网络的最大处理能力会受限于单个节点的处理能力。分片后,同一片内的合约处理是同步的,彼此达成共识,不同分片之间则可以是异步的,可以提高网络整体的可扩展性。

    四、以太坊相关工具

    1、客户端与开发库

    以太坊客户端可用于接入以太坊网络,进行账户管理、交易、挖矿、智能合约等各方面操作。

    以太坊社区现在提供了多种语言实现的客户端和开发库,支持标准的JSON-RPC协议。用户可根据自己熟悉的开发语言进行选择。

    go-ethereum:Go语言实现

    parity:Rust语言实现

    cpp-ethereum:C++语言实现

    ethereumjs-lib:javascript语言实现

    ethereum(J):Java语言实现

    ethereumH:Haskell语言实现

    pyethapp:Python语言实现

    ruby-ethereum:Ruby语言实现

    go-ethereum的独立客户端Geth是最常用的以太坊客户端之一。用户可通过安装Geth来接入以太坊网络并成为一个完整节点。Geth也可作为一个HTTP-RPC服务器,对外暴露JSON-RPC接口,供用户与以太坊网络交互。

    Geth的使用需要基本的命令行基础,其功能相对完整,源码托管于github.com/ethereum/go-ethereum

    2、以太坊钱包

    对于只需进行账户管理、以太坊转账、DAPP使用等基本操作的用户,则可选择直观易用的钱包客户端。

    Mist是官方提供的一套包含图形界面的钱包客户端,除了可用于进行交易,也支持直接编写和部署智能合约。

    所编写的代码编译发布后,可以部署到区块链上。使用者可通过发送调用相应合约方法的交易,来执行智能合约。

    3、以太坊开发IDE

    对于开发者,以太坊社区涌现出许多服务于编写智能合约和DAPP的IDE,例如:

    Truffle:一个功能丰富的以太坊应用开发环境

    Embark:一个DAPP开发框架,支持集成以太坊、IPFS等

    Remix:一个用于编写Solidity的IDE,内置调试器和测试环境

    展开全文
  • 以太坊怎么购买,如何在交易平台上购买以太坊  近两年火遍全球的以太坊、比特币等虚拟货币,在2019年依然备受投资者的关注,尤其虚拟币合约交易的出现,为这个市场带来了新的活力,也为投资者提供了更安全简单的...

    以太坊怎么购买,如何在交易平台上购买以太坊

      近两年火遍全球的以太坊、比特币等虚拟货币,在2019年依然备受投资者的关注,尤其虚拟币合约交易的出现,为这个市场带来了新的活力,也为投资者提供了更安全简单的赚钱途径。

      如果你对比特币、以太坊、EOS等其他虚拟货币很感兴趣,想参与,却不知道国内在哪里可以买卖,具体如何操作的话,那么你看完这篇文章就对了!

      在国内做比特币等虚拟货币交易也非常简单,有矿机的可以挖矿赚钱;没有矿机的可以做合约交易,在网上正规的交易平台就能进行,比如英国 皇玛hmcfds 等,提供的交易产品包括虚拟币、货币对,指数等两百多种,是已有币种最全的平台,也是交易量最大的平台。可买涨也可买跌,双向均可获利。

      作为一个想买卖以太坊的投资者,不管你用什么交易平台,基本的玩法流程都是差不多的,下面,看看在虚拟币市场中以太坊怎么个购买,如何一步步快速掘金。

      1.选择平台申请账号、如实填写姓名、电话、邮箱等;

      2.获得账户后,登录个人中心,完善一些资料的上传和银行卡的绑定,因为交易和出金都会用到;

      3.进行充值入金,一般可以自由选择充值的金额和渠道,比如皇玛金融是有支付宝、银联、微信等快捷渠道可以选择,最低入金20美元起;

      4.进入交易操作界面,选择想交易的币种、选择看涨或看跌,还有止盈止损等小功能的设置等;

      5.买卖一定时间后,进行平仓,所得的盈利可以继续留作交易本金,也可以出金使用。

      完成以上五点,整个以太坊的交易流程就完成了,相信看完以上介绍,大家都已经掌握在国内买卖比特币的方法。
     

    展开全文
  • 以太坊的初始阶段,持续时间为2015年7月30日至2016年3月 “家园”(Homestead)-Block #1,150,000 以太坊的第二阶段,于2016年3月推出 “大都会”(Metropolis)Block#437000 以太坊的第三个阶段,于2017年10月推出的...
  • 1.购买云服务器(略过) 2.更改云服务器连接密码,点击右上角的三个小点,然后点击重置实例密码 输入并牢记密码,通过终端远程登录时需要用到 3.点击配置安全组配置安全组规则,点击右侧的配置规则 点击快速添加,...
  • NEAR与以太坊 (科普)

    万次阅读 2021-11-12 15:42:49
    NEAR与以太坊 指南 / 作者 futured.near / 13 分钟阅读 推文 +4nLEARNs 今天,以太坊是区块链领域排名第一的智能合约平台,大多数智能合约和去中心化应用程序 (dApps) 都基于其区块链。 与以太坊一样,市场上还有...
  • 以太坊服务器在哪 以太坊怎么挖矿

    千次阅读 2021-01-11 19:57:34
    以太坊在将来会取代比特币吗?感谢邀请!以太坊和比特币的定义不同,以太坊是应用了区块链2.0技术的一个基础公有链,而比特币则是作为数字货币,这二者不是不可同日而语的。比特币作为数字货币的图腾,短时间内是...
  • 网上的开发以太坊智能合约学习视频,适合小白学习,搁在网盘里没用,删除了又可惜,拿出来分享顺便赚点积分
  • 本程序使用java语言 12位助记词默认排序有4.8亿种情况 本程序根据助记词生成过程,进行了部分反推,将排列组合缩短到了3000万种 缩减了16倍 支持所有数字货币类型,只需要替换对应的根...付费购买后有疑问可随时留言
  • 作者:Kyle Waters、Nate Maddrey 和 Matías Andrade来源:Coin Metrics本文由 DeFi 之道编译编者注:V 神在巴黎的 EthCC 会议上透露,以太坊的开发人员正在开展五个长期阶段,旨在提高网络的整体能力。议程上的第...
  • 以太坊交易

    千次阅读 2022-03-05 22:14:36
    以太坊交易
  • 以太坊合并进展及合并后的 MEV 与矿工
  • 最详细搭建以太坊主网节点

    千次阅读 2022-03-08 12:32:30
    最详细搭建以太坊主网节点 1.搭建节点需要什么配置 推荐配置:(切记一定要物理机) CPU: 8 核 内存: 16G 硬盘: 500G SSD (固态硬盘) 网络: 10M(如果是用物理机可以找机房临时拉满同步会比较快哦,如果能加到100M几个...
  • 以太坊主网节点搭建

    2022-06-27 16:24:20
    最详细搭建以太坊主网节点1.搭建节点需要什么配置 推荐配置:(切记一定要物理机) CPU: 8 核 内存: 16G 硬盘: 500G SSD (固态硬盘) 网络: 10M(如果是用物理机可以找机房临时拉满同步会比较快哦,如果能加到100M几个小时...
  • Smart Contract: 智能合约,是以太坊中最重要的一个概念,以太坊支持通过图灵完备的高级语言,如:Solidity、Serpent等来开发智能合约,其可以接受来自外部的交易请求和事件来触发合约代码逻辑,进一步生成新的交易...
  • 以太坊之八权益证明

    2021-01-07 23:02:04
    以太坊比比特币验证过程更加繁琐,但是它的能耗更少是因为以太坊出块的速度更快。 不过权益证明能解决的不仅仅是环保问题,还有肖老师说的货币的安全问题。比如有人想干掉PoW的币,只要是有钱的人不管什么领域的都没...
  • 合并在即:详解以太坊最新技术路线
  • 一、“以太坊”简介 ① 什么是“区块链”? (A)“区块链”概念 “区块链”是指特定网络中一系列独立计算机处理和维护的所有交易的公开记录本,比起用中心化的方式管理这些交易数据库(就如 Amazon 或 Facebook ...
  • 以太坊2.0信标链

    2022-05-10 18:49:22
    以太坊2.0信标链分片:未来蓝图以太坊2.0的各个阶段时隙 (slots) 和时段 (epochs)验证者 (validators)、证明 (attestations) 和信标链交联 (crosslinks):分片扎根信标链委员会 (committees):介绍委员会 ...
  • 2022年9月以太坊合并你需要知道的10件事 什么是合并? 合并是以太坊区块链将共识机制从工作量证明(pow)转为权益证明(pos)的事件,是以太坊主网与信标链(beacon chain)合并的简称质押的数量越多意味着越中心化,因此...
  • 它由部署到以太坊网络的智能合约提供动力,因此是无信任的,分散的和开源的。 使用Javascript,nodejs,Solidity,Google Firebase(托管,云功能,实时数据库和存储)和Heroku构建。 特征: 有限的像素供应随...
  • 精通以太坊-基础1~3章 概念 基于区块链技术打造的平台 智能合约 以太坊计算基础框架上执行的程序 DApp 狭义 基于智能合约开发的用户界面 至少包含一个智能合约 广义 开放的去中心化的...
  • Ethereum以太坊(ETH)是由Vitalik Buterin所创建,一种允许智能合约和去中心化应用程序(dapps)在其网络上运行的加密货币。以太坊是仅次于比特币的第二大加密货币,它是一个基于区块链的平台,用于创建去中心化...
  • 不管你们知不知道以太坊(Ethereum blockchain)是什么,但是你们大概都听说过以太坊。最近在新闻里出现过很多次,包括一些专业杂志的封面,但是如果你们对以太坊到底是什么没有一个基本的了解的话,看这些文章就会...
  • 与传统云计算平台例如亚马逊,阿里云不同的是,你在以太坊发布的代码不会存储在某一台主机上,不能像运行在阿里云,腾讯云那样的平台上的程序那样,你能把代码托管到一个具体对象,然后还能针对性的调试和修改,在...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 12,084
精华内容 4,833
关键字:

以太坊购买