当前位置:首页>区块链文章>区块链推广>【笔记】区块链ETH学习1–基础概念与钱包使用

【笔记】区块链ETH学习1–基础概念与钱包使用

ETH基础概念与钱包使用介绍简介开发者社区大相对成熟应用入手方便学习JS结合紧密,方便开发人员上手以太坊基础整体介绍钱包、测试网、简单交易客户端,搭建私链深入了解账户和合约以太坊交易、gas费和EVN编程与应用soliditydapp实现简单投票web3.js及简单应用深入理解合约工作流合约工作流自动化编译和部署自动化测试深入理解以太坊原理以太坊的理念与实现源码分析DAPP实战基于token的投票基于ipfs的去中心化ebay

ETH基础概念与钱包使用

介绍

简介

  • 开发者社区大
  • 相对成熟
  • 应用入手方便学习
  • JS结合紧密,方便开发人员上手

以太坊基础

  • 整体介绍
  • 钱包、测试网、简单交易
  • 客户端,搭建私链

深入了解

  • 账户和合约
  • 以太坊交易、gas费和EVN

编程与应用

  • solidity
  • dapp实现简单投票
  • web3.js及简单应用

深入理解合约工作流

  • 合约工作流
  • 自动化编译和部署
  • 自动化测试

深入理解以太坊原理

  • 以太坊的理念与实现
  • 源码分析

DAPP实战

  • 基于token的投票
  • 基于ipfs的去中心化ebay
  • ICO Dapp

工具

MetaMask-浏览器插件钱包

remix-基于浏览器的在线编辑器

geth-go语言的eth客户端

web3.js-以太坊js API库

ganache-以太坊客户端(测试环境私链)

truffle-以太坊开发框架

环境

  • chrome

  • linux–go/git/node/npm

  • visualcode

  • vpn

ETH的组成部分

  • P2P网络

该网络可在TCP端口30303上寻址,并运行一个协议:【笔记】区块链ETH学习1--基础概念与钱包使用

  • 交易

以太坊交易是网络信息,包括发送者,接收者,值和数据的有效载荷

  • 以太坊虚拟机(EVM)

以太坊状态转换由以太坊虚拟机处理,这是一个执行字节码(机器语言指令)的基于堆栈的虚拟机

启动以太坊是在启动虚拟机

  • 数据库(blockchain)一种数据存储结构

以太坊的区块链作为数据库(Google的levelDB)本地存储在每一个节点上,包含序列化后的交易和系统状态

  • 客户端

以太坊有几种可互操作的客户端软件实现:geth和parity

概念

  • 账户:包含地址,余额和随机数,以及可选的存储和代码的对象

    • 普通账户:存储和代码均为空
    • 合约账户:包含存储和代码
  • 地址

    • 它可以在区块链上接受或发送交易,是ECDSA公钥的keccak散列的最右边的160位
  • 交易

    • 以太币和信息
    • 向合约发送的交易可以调用合约代码,并以信息数据为函数参数
    • 向空用户发送信息可以自动生成以信息为代码块的合约账户
  • gas

    • 虚拟燃料

货币

挖矿前:众筹发行7200万以太币,称为矿前

产量稳定:被限制不超过7200万的25%

挖矿产出:区块奖励(block reward),叔块奖励(uncle reward),叔块引用奖励(uncle referencing reward)

  • 区块奖励:5->3区块速度快
  • 叔块奖励:晚确认的区块,称为叔块,叔块的哈希也被放入下一个区块里,叔块会获得叔块奖励
  • 叔块引用奖励:引用也会得到奖励

目前这一套基于POW的奖励机制–GHOST协议

PoS–Casper协议
【笔记】区块链ETH学习1--基础概念与钱包使用

浏览器与区块信息

  • hash rate 全网算力
  • network difficulty 全网难度
  • transactions 6.7tps 每秒交易数

【笔记】区块链ETH学习1--基础概念与钱包使用

transactions

  • contract internal transactions合约内部交易(合约会自动发交易)
  • transactions 交易
  • 叔块的交易哈希算法不同与父块(Sha3)
  • size:没有限制区块大小,有特别机制限制gas limit,gas used使用的
  • nonce:随机数,简单理解为计数器
  • block reward:三部分(静态奖励+gas+叔块引用奖励)

Ghost协议

  • 出块时间:设计12秒,实际14~15秒,快速确定会带来区块的高作废率,安全性降低
  • Greedy Heaviest Observed SubTree 防止出块太快造成的威胁攻击
  • 计算工作量证明时,不仅包含当前区块的祖区块,父区块,还要包含祖先块的作废的后代区块(“叔块”),将他们综合考虑

图灵完备语言

  • 如果一个系统可以模拟任何图灵机,它就被定义为“图灵完备”,这种系统称为通用图灵机(UTM)
  • 无限循环-gas消耗
  • 智能合约–>DAPP
    • 区块链上的智能合约
    • web前端用户界面

Token

【笔记】区块链ETH学习1--基础概念与钱包使用

  • total supply 供应量

  • contract 币安在eth上的合约地址

  • 继承标准ERC721类似于继承类

专有名词

EIP 以太坊改进建议

ERC 以太坊征求意见,EIP变成ERC表示试图定义以太坊使用的特定标准的提议

EOA 创建的账户

Ethash 以太坊1.0 工作量证明算法

HD钱包 使用分层确定性密钥创建和转账协议(BIP32)的钱包

Keccak256 以太坊中使用的密码哈希函数,被标准化为SHA-3

Nounce 密码学中指代只能使用一次的值,以太坊中使用两种类型的随机数,账户随机数和POW随机数

应用

  • 1 ether =10^18 wei

钱包

私钥:256位的随机数

公钥:由私钥通过椭圆曲线加密secp256k1算法单向生成的512位(64字节)数

地址:由公钥的keccak-256单向哈希,取最后20个字节(160位)派生出来的标识符

安全须知

  • keystore文件就是加密存储的私钥
  • 助记词
    • 可以导出私钥,所以可以认为助记词就是私钥
    • BIP-39提出,帮助用户记忆复杂私钥

【笔记】区块链ETH学习1--基础概念与钱包使用

切换网络

  • Main Network(NetworkID:1)

    • 主网络
  • Ropsten Test Network(NetworkID:3)

    • 以太坊公共测试网络pos
  • Kovan Test Network(NetworkID:42)

    • Aura协议,权威证明POA共识,仅支持Parity客户端
  • Rinkeby Test Network(NetworkID:4)

    • Clique协议,权威证明POA共识
  • Localhost 8545

    • 连接到与浏览器在同一台计算机上运行的节点,可以是任何公共区块链的一部分,也可以是私有testnet
  • Custom RPC

    • 允许将Metamask连接到任意兼容geth的RPC接口的节点,可以是任何公共或私人区块链的一部分

测试使用

首先获得测试以太

【笔记】区块链ETH学习1--基础概念与钱包使用

或者使用rinkeby获取,这个需要在社交平台发一条带有地址的消息

尝试发送以太:可以自定义gas price【笔记】区块链ETH学习1--基础概念与钱包使用

课程来源:深入掌握以太坊核心技术-尚硅谷

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
区块链推广

数据分析 | 这个新职业年薪高达49w,作为普通打工人的你眼馋了吗?

2021-11-7 12:44:13

区块链推广

区块链如何在2022年及以后彻底改变世界

2021-11-7 12:44:15

重要说明

本站资源大多来自网络,如有侵犯你的权益请联系管理员 区块链Bi站  或给邮箱发送邮件834379394@qq.com 我们会第一时间进行审核删除。 站内资源为网友个人学习或测试研究使用,未经原版权作者许可,禁止用于任何商业途径!请在下载24小时内删除!


如果你遇到支付完成,找不到下载链接,或者不能下载,或者解压失败,先不要忙,加客服主的QQ:834379394 (客服有可能有事情或者在睡觉不能及时的回复您,QQ留言后,请耐心等待即可!)

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索