分类 科普知识 下的文章 - 六币之门
首页
视频教程
网站导航
活动日历
关于我们
用户投稿
推荐
新闻动态
搜 索
1
融资周报 | 公开融资事件11起;加密技术公司Toposware完成500万美元融资,Polygon联创参投
116 阅读
2
六币日报 | 九只比特币ETF在6天内积累了9.5万枚BTC;贝莱德决定停止推出XRP现货ETF计划
79 阅读
3
六币日报 | 美国SEC再次推迟对灰度以太坊期货ETF做出决定;Do Kwon已出黑山监狱等待引渡
76 阅读
4
融资周报 | 公开融资事件27起;L1区块链Monad Labs完成2.25亿美元融资,Paradigm领投
76 阅读
5
【ETH钱包开发06】查询某个地址的交易记录
64 阅读
新闻动态
每日快报
一周精选
融资情况
项目投研
自治组织
数字藏品
去中心化应用
去中心化游戏
去中心化社交
去中心化金融
区块链交易所
科普知识
小白入门
用户手册
开发文档
行业报告
技术前沿
登录
搜 索
标签搜索
新闻
日报
元歌Eden
累计撰写
1,087
篇文章
累计收到
0
条评论
首页
栏目
新闻动态
每日快报
一周精选
融资情况
项目投研
自治组织
数字藏品
去中心化应用
去中心化游戏
去中心化社交
去中心化金融
区块链交易所
科普知识
小白入门
用户手册
开发文档
行业报告
技术前沿
页面
视频教程
网站导航
活动日历
关于我们
用户投稿
推荐
新闻动态
用户登录
登录
找到
227
篇与
科普知识
相关的结果
2024-10-22
020:Solidity语法之多继承|《ETH原理与智能合约开发》笔记
待字闺中开发了一门区块链方面的课程:《深入浅出ETH原理与智能合约开发》,马良老师讲授。此简书文集记录我的学习笔记。课程共8节课。其中,前四课讲ETH原理,后四课讲智能合约。第七课分为三部分:Solidity语法之多继承 ERC20众筹实例之合约分析 ERC20众筹实例之部署调试 这篇文章是第七课第一部分的学习笔记:Solidity语法之多继承。在前面的课程中,分别讲解了 Solidity 语言的两个语法难点:数组和合约,这节课继续讲解另一个语法难点:多继承,并有两个代码示例辅助理解知识点。1、多继承规则1.1 多继承规则多继承规则多继承经常出现在面向对象的编程语言中。但往往有二义性,影响代码的可读性、可维护性。在多继承中,有个经典的钻石问题。如图所示,B、C都是继承自A,D同时继承自B和C,D的test方法就会遇到问题。Solidity 智能合约为了解决这个问题,使用了C3线性化(维基链接)。D继承B和C时,根据书写的顺序,有继承的先后,如图中虚线所示,按DCBA的顺序。1.2 实例example_4.solexample_4.sol代码中,super是指父类的意思。Run 页面,先选择 D 合约,Deploy 部署代码; 再点 test 接口,下方点 Debug ; 在第 31、48、66 行设置断点; 点击跳到下一个断点,执行到第 66 行; 点 step into 进入到内部,执行到 C 合约内部; 点击跳到下一个断点,执行到第 48 行; 点 step into 进入到内部,执行到 B 合约内部。注意,这里不是跳到A合约,而是B合约。 后续演示略。从B合约可以再进入A合约。 2、复杂类型复杂类型接下来是两个非常隐蔽的语法难点。2.1 局部变量类型一个函数里,局部变量的常规类型是 memory,而局部变量类型如果是复杂类型,则其缺省类型是这个复杂类型的指针。就是说,如果不显式地声明它是 memory 类型的话,它就是指向复杂类型的 storage 指针。注意这里,指针是指向 storage 的,而不是 memory 。第二句如图。所以,在使用时,为了避免二义性,要显式地声明变量的类型。2.2 var 类型推导第二个易错的错误是var类型推导。如图举例,如果把 x 推导为 8 位无符号整型,范围是0~255,在循环函数中,永远执行不完所有的循环,这会引起死循环,直到消耗完 gas 。所以,要避免这类错误。2.3 实例example_5.solexample_5.sol把编译器版本设置为0.4.17,高版本的有点儿问题。 部署 点击 test_Local_Var 接口,再点击下面的Debug,在调试区可以看到state_A的长度为4,如图。点击test_Local_Var 在第 31 行设置一个断点,执行到断点处。此时state_A的长度变为9999,如图。执行x.a=9999后因为长度length就是存在起始的位置上,x.a=9999改变了这个值。因为指针缺省指向整个合约实例的存储类型状态变量的起始地址(见课件文字)。这里要特别注意!数组的长度本来应该是4,现在成了9999,这会浪费很多 gas 。 本例的第二个接口是 var 类型推导,前文已说明,如果用第 39 行代码,会是死循环;而用第 38 行代码,则是可以的。 小结一下,本文主要讲解了 solidity 语法难点中的多继承,并有两个代码示例辅助理解。不足之处,请批评指正。
2024年10月22日
12 阅读
0 评论
0 点赞
2024-10-22
021:ERC20众筹实例之合约分析|《ETH原理与智能合约开发》笔记
待字闺中开发了一门区块链方面的课程:《深入浅出ETH原理与智能合约开发》,马良老师讲授。此简书文集记录我的学习笔记。课程共8节课。其中,前四课讲ETH原理,后四课讲智能合约。第七课分为三部分:Solidity语法之多继承 ERC20众筹实例之合约分析 ERC20众筹实例之部署调试 这篇文章是第七课第二部分的学习笔记:ERC20众筹实例之合约分析。(1)这节课主要讲解了一个众筹合约的代码分析(Open Zeppelin 框架)。这里的众筹,有个高大上的名字叫 ICO 。ICO(是Initial Coin Offering缩写),首次币发行,源自股票市场的首次公开发行(IPO)概念,是区块链项目首次发行代币,募集比特币、以太坊等通用数字货币的行为。1、Open Zeppelin Token 分析这个众筹合约是基于 Open Zeppelin 安全智能合约开发框架来实现的。这个框架下有很多不同的合约,这里主要介绍跟 ERC20 有关的。关于 ERC20 在第五课中有过分析。 ERC20 规范有六个接口组成,在Open Zeppelin 中分解到了 4 个合约来完成。如图。Open Zeppelin 合约首先是 ERC20 Basic,这是一个抽象合约,就是它只定义了接口,没实现功能。它是一个最基础的合约,在这个合约中,它定义了三个接口,totalSupply, banlanceOf, transfer。然后是延伸出 ERC20 合约。它扩展定义了三个新的接口,allowance, transferFrom, approve,依然是没有实现,这是个抽象合约。再一个是 Basic Token 合约,它继承自 ERC20 Basic,实现了 ERC20 Basic 的三个接口。这里面有一个映射,mapping(address=> uint256),是地址到余额的映射。Standard Token 继承自 ERC20 ,基本实现了扩展合约中的三个接口。因为它也继承自 Basic Token ,所以它还有 Basic Token 所实现的三个功能。这是一个典型的钻石型多继承关系。这里面的映射相对来说复杂一些,mapping (address => mapping(address => uint256)),允许其它的账户从一个账户取走多少额度。后面是一个 Mintable Token,类似于一个造币厂的功能,根据有多少人来买,来增加供给量。它还继承自 Ownable 合约,它不但允许在初始时设置合约所有者的所有权,也允许更换所有者。框架中还用到了 SafeMath Lib,主要是处理一些数学问题,比如防止溢出。2、Open Zeppelin 代码在执行了本课第三部分的安装等工作后,可以查看到有关 Open Zeppelin 的代码。接下来分析一下具体的代码。2.1 ERC20Basic.sol/node_modules/openzeppelin-solidity/contracts/token/ERC20/ERC20Basic.sol进入到 /node_modules/openzeppelin-solidity/contracts 目录,执行 vim token/ERC20/ERC20Basic.sol 打开这个文件。ERC20Basic.sol它是一个抽象合约,并没有实现具体的接口,只是定义了这三个接口。如图。第一个是查询总的供给量。第二个是查询特定帐户的余额。第三个是转账。最后还定义了一个事件,记录转账这个事件。2.2 ERC20.sol/node_modules/openzeppelin-solidity/contracts/token/ERC20/ERC20.solERC20.sol这个 ERC20.sol 仍然是一个抽象合约,它继承自 ERC20Basic.sol ,所以在第 3 行引入了 ERC20Basic.sol 的源代码。它定义了三个接口和一个事件。第一个是 allowance ,意思是 spender 可以从 owner 那里取多少余额。第二个是一个地址到另一个地址的转账操作。第三个是甲方向一个特定的乙方授予一定的额度。最后是记录这个事件,已被应用程度来查询。2.3 StandardToken.sol/node_modules/openzeppelin-solidity/contracts/token/ERC20/StandardToken.solStandardToken.sol这个 StandardToken.sol 继承自 ERC20.sol 和 BasicToken.sol,所以在第 3、4 行引入了 这两个合约。第25、47、59行,分别实现了以下三个接口。function transferFromfunction approvefunction allowance接下来是两个自定义的接口,不再是 ERC20 中强制规定的接口。一个是增加余额的额度(第73行),它的实现方式不是直接赋予一个新值,这种方式有漏洞,不安全,在前面的注释中有说明。它是使用原有的值,使用SafeMath增加一个数值,再来更新。避免两次操作(这里不懂)。同时记录下事件。另一个是相反的操作,减少额度(第89行)。这里有一个例外,就是降低的数值超过了原有的额度,就置为 0 。不例外的情况下,它也是使用 SafeMath 函数,做一个减法,同时记录下事件。2.4 Ownable.sol/node_modules/openzeppelin-solidity/contracts/ownership/Ownable.solOwnable.sol这个主要是管理合约的发起人。这种模式很常用,在构造函数中记录合约的发起人,之后一般是增加一个修饰器,专门检查调用这个合约的人是不是合约的发起人。这个合约有个特殊的地方就是,它允许你转发合约所有者的身份。只有合约的所有者才能转让,它会转让一个新的地址,先检查地址是否为空,如果不空,记录这个事件,把所有者设置为新的所有者。2.5 MintableToken.sol/node_modules/openzeppelin-solidity/contracts/token/ERC20/MintableToken.solMintableToken.sol这个是造币的合约。它继承自 Ownable.sol 和 StandardToken.sol 合约(第13行),还有两个事件,一个是造币,一个是造币结束。后面是一个布尔值,如果为真,表示造币活动停止(发行结束)。第 31 行是向一个地址发行代币,这条只有合约的所有者才可以执行。同时还要检查发行活动是否继续。如果都没有问题,先增加总供给量,同时也要对目标地址的余额进行更新,记录下两个事件。下面 43 的接口也是只能合约的所有者才可以调用。检查是不是正在发行,如果发行活动结束了,就把“结束”设为真,记录下这个事件。小结,这节课主要讲解了Open Zeppelin 安全智能合约开发框架,并分析了其中的几个代码文件。代码涉及的知识点比较多,平时要注意多积累。不足之处,请批评指正,谢谢。课程地址为:深入浅出ETH原理与智能合约开发
2024年10月22日
6 阅读
0 评论
0 点赞
2024-10-22
022:ERC20众筹实例之合约分析2|《ETH原理与智能合约开发》笔记
待字闺中开发了一门区块链方面的课程:《深入浅出ETH原理与智能合约开发》,马良老师讲授。此简书文集记录我的学习笔记。课程共8节课。其中,前四课讲ETH原理,后四课讲智能合约。第七课分为三部分:Solidity语法之多继承 ERC20众筹实例之合约分析 ERC20众筹实例之部署调试 这篇文章是第七课第二部分的学习笔记:ERC20众筹实例之合约分析。(2)前一小节介绍了发币相关的合约,这一小节介绍众筹相关的合约。1、Zeppelin Crowdsale 分析Crowdsale 简介Crowdsale 是一个基类合约,它提供了很多的接口,提供给子合约来重载。它的一个核心功能 buytoken ,不能被重载,它是由 fallback 函数触发。下面的两个合约都继承自 Crowdsale 。一个是 TimedCrowdsale 合约(限制的众筹,有开始时间和结束时间,在两者之间有效),一个是 MintedCrowdsale 合约(按需发币的众筹)。基类合约 Crowdsale 引用的是一个 ERC20 抽象合约的地址,而在 MintedCrowdsale 中引用的则是 MintableToken 地址。自己的众筹合约继承自 TimedCrowdsale 合约和 MintedCrowdsale 合约。自定义的 Mytoken 是基于 MintableToken 合约。2、Open Zeppelin 代码2.1 Crowdsale.sol/node_modules/openzeppelin-solidity/contracts/crowdsale/Crowdsale.solCrowdsale.sol部分代码的分析见图中注释。2.2 MintedCrowdsale.sol/node_modules/openzeppelin-solidity/contracts/crowdsale/emission/MintedCrowdsale.solMintedCrowdsale.solMintableCrowdsale 子合约继承自基类合约 Crowdsale 合约。这个合约只有一个功能,就是重载了 deliverToken ,怎么给受益人发放 Token 。在基类中是直接调用的 transfer,这里是先把类型转换,转成 mintabletoken ,然后调用 mint,向受益人发币。2.3 TimedCrowdsale.sol/node_modules/openzeppelin-solidity/contracts/crowdsale/validation/TimedCrowdsale.solTimedCrowdsale.sol部分代码的分析见图中注释。小结。本节主要介绍众筹相关的三个合约源文件。不足之处,请批评指正,谢谢。课程地址为:深入浅出ETH原理与智能合约开发
2024年10月22日
7 阅读
0 评论
0 点赞
2024-10-22
023:ERC20众筹实例之部署调试|《ETH原理与智能合约开发》笔记
待字闺中开发了一门区块链方面的课程:《深入浅出ETH原理与智能合约开发》,马良老师讲授。此简书文集记录我的学习笔记。课程共8节课。其中,前四课讲ETH原理,后四课讲智能合约。第七课分为三部分:Solidity语法之多继承 ERC20众筹实例之合约分析 ERC20众筹实例之部署调试 这篇文章是第七课第三部分的学习笔记:ERC20众筹实例之部署调试。这节课主要讲解了一个众筹实例的部署调试。( 部署工作还是在 Truffle 中进行,之前的一个简单例子可见《019:Truffle简介与使用》 )新建目录 mkdir ari_coin 进入到刚才新建的目录,用 truffle 初始化项目 truffle init 安装智能合约框架Zeppelin npm install -E openzeppelin-solidity 可以通过 cd 、 ls等命令查看目录、文件。 其中,有关openzeppelin的合约在air_coin/node_modules/openzeppelin-solidity/contracts 目录下。具体代码见前两小节的分析。(《分析1》和《分析2》)把老师的合约代码拷贝到 air_coin/contracts 目录 注:老师的合约代码在仓库中,可见这节。查看代码:vim 文件名①、air_coin/contracts/AirCoin.solpragma solidity 0.4.23; import 'openzeppelin-solidity/contracts/token/ERC20/MintableToken.sol'; contract AirCoin is MintableToken { string public name = "Air COIN"; string public symbol = "AIR"; uint8 public decimals = 18; } 这个合约说明 AirCoin 继承自 MintableToken ,定义了名称、符号、最小单位。②、air_coin/contracts/AirCoinCrowdsale.solpragma solidity 0.4.23; import './AirCoin.sol'; import 'openzeppelin-solidity/contracts/crowdsale/emission/MintedCrowdsale.sol'; import 'openzeppelin-solidity/contracts/crowdsale/validation/TimedCrowdsale.sol'; contract AirCoinCrowdsale is TimedCrowdsale, MintedCrowdsale { function AirCoinCrowdsale ( uint256 _openingTime, uint256 _closingTime, uint256 _rate, address _wallet, MintableToken _token ) public Crowdsale(_rate, _wallet, _token) TimedCrowdsale(_openingTime, _closingTime) { } } AirCoinCrowdsale 众筹合约继承自TimedCrowdsale 和 MintedCrowdsale 合约,开头先导入他们。在构造函数部分设置了开启时间,关闭时间,汇率、钱包地址,token地址。然后用这些参数初始化父类合约。修改 air_coin/truffle.js 代码,加入network 一串代码 module.exports = { // See <http://truffleframework.com/docs/advanced/configuration> // for more about customizing your Truffle configuration! networks: { development: { host: "192.168.1.12", //老师的是这个地址,我的用的localhost port: 8545, network_id: "*" // Match any network id } } }; 查看migrations/2_deploy_contracts.js 代码 2_deploy_contracts.js这个文件设置了开始时间,结束时间,汇率为8,集资的钱包地址为地址1 。在右边窗口打开ganache测试网络 ganache-cli tmux,进入 tmuxctrl + B, shift + 5, 左右分屏更多tmux的操作见这节。左边窗口 编译 truffle compile (需要把三个.sol文件的版本改为0.4.24) 部署合约 truffle migrate 连到测试网络 truffle console 设置购买人 buyer = web3.eth.accounts[2] ,购买人设置地址2 。 取得众筹实例: AirCoinCrowdsale.deployed().then(inst => ) 取得 token的地址: crowdsale.token().then(addr => ) 恢复一个实例: airCoinInstance = AirCoin.at(tokenAddress) ownship 换一下,转给众筹合约。airCoinInstance.transferOwnership(crowdsale.address)返回状态 status:'0x01' 成功 检查空气币的总供给,应该是零,还没有人买。airCoinInstance.totalSupply().then(supply => supply.toString(10)) 购买者的空气币余额也是零,还没有买。airCoinInstance.balanceOf(buyer).then(balance => balance.toString(10)) 利用众筹合约,购买500wei,crowdsale.sendTransaction();或者 5 个以太币,crowdsale.sendTransaction()(只是不易观察,数字太长)。 重复17、18 步,查看余额,都是 4000,因为汇率是 8,500*8=4000 。 课后作业:500wei 转给地址1 了,怎么把它显示出来?经过翻书查资料,找到了下面两条指令,wallet=web3.eth.accounts[1]web3.eth.getBalance(wallet).toString()返回的结果是100000000000000000500(即,100×10^18+500,地址默认有100 ether,1 ether = 10^18 wei ),结果正确。小结:本课把前面两小节的众筹实例在 Truffle 上实现了出来,进行了部署,并演示了众筹的模拟。不足之处,请批评指正。
2024年10月22日
7 阅读
0 评论
0 点赞
2024-10-22
024:以太坊Web应用架构|《ETH原理与智能合约开发》笔记
待字闺中开发了一门区块链方面的课程:《深入浅出ETH原理与智能合约开发》,马良老师讲授。此简书文集记录我的学习笔记。课程共8节课。其中,前四课讲ETH原理,后四课讲智能合约。第八课分为三部分:以太坊Web应用架构 AirCoin WebUI 设计概要 AirCoin WebUI 实际开发演示 这篇文章是第八课第一部分的学习笔记:以太坊Web应用架构。这节课主要讲解了前节课所述空气币(AirCoin)的Web应用架构。1、以太坊Web应用组件在以太坊去中心化应用的前端技术中,主要使用了两个组件,一个是 web3,一个是 TruffleContract,这两个都是基于 JavaScript 的。Web应用组件1.1 web3jsweb3js 是以太仿官方的JavaScript接口,Go-Ethereum 官方客户端支持。它不但可以使用在 Http 中,还可以使用在 RPC 中,也可以使用在 Go-Ethereum 的控制台中,应用非常广泛。它现在有两个版本,0.2x 和 1.0 版本,其中 1.0 版本还在开发中,后面的例子中使用的是 0.2 版本。一般来讲,作为 JS 的类库,可以支持同步和异步两种模式,这节课的例子中也会用到两种模式。web3js 大约有几十种接口,主要使用的有上图中的四种。更多内容可以参见这里:《 js-api 》1.2 Truffle-ContractTruffle-Contract 是 Consensys Tuffle 框架的一部分,支持 nodejs 调用和浏览器调用两种形式。这节课的例子中是通过后者来调用。它是基于 web3js Contract 部分接口的封装。原因是在 web3js Contract 中要使用对应合约的 ABI 来实例化,而 Truffle 本身是个框架,有编译功能,有部署功能,所能提供的信息要远比 ABI 丰富,对这些信息进行更高级的封装,则就是 Truffle-Contract 。Truffle-Contract 的目标是更容易的操作以太坊智能合约。通过 nodejs 和浏览器创建合约对象的方法如图。其中 JSON 文件包含 ABI、网络ID、地址等信息。JSON 文件要满足 truffle-contract-schema 格式。生成合约对象后,通常还要再生成对应的实例,大概有三四种方法,最常用的方法是 deployed() 。生成合约实例之后,可以使用这个实例向对应的合约发起相关的调用,在后面的例子中会有演示。JSON 文件从哪来?它其实是 Truffle 编译时生成的文件,部署时,也会更新它。所以,这个 JSON 文件不止包含静态信息,也包含动态,如部署信息。因为部署信息只有在部署时才会有,所以 Truffle 对 JSON 文件进行了两次操作,一次是创建时,一次是更新时。更详细的信息见:《 truffle-contract 》2、以太坊Web应用架构以太坊Web应用架构以太坊Web应用架构主要有两种,图示左边的一种相对较简单,适用于服务器端逻辑简单的情况。随后的例子用的是这种。图示右边的一种是服务器端逻辑复杂的情况。第一种。web 前端通过调用 Trufflecontract,通过调用 web3js,来和FullNode 进行交互,这个全节点可以是 Geth,也可以是测试工具 Ganashi 。后面的例子中使用的是 Ganashi 。如果是 Geth 的话,还需要与主网联通。这种架构没有服务器端,逻辑全部依靠智能合约。如果逻辑复杂,代价就昂贵,响应速度还受制于主网的吞吐量。第二种。如果服务器端的逻辑较复杂,而大部分的内容不需要放到区块链上,就需要第二种架构。这种架构和传统的 C/S 架构还不相同,Client 和 Server 还不是直接通信。以电商购物说明一下。卖家向主网注册一个事件“买家向我打钱了”,当买家打钱时就会触发这个事件。同样,买家也向主网注册一个事件“卖家向我发货了”,当卖家发货时就会触发这个事件。之后,买家向区块链发起一笔交易向卖家付款,同时获得收据,同时这个收据也会到卖家,因为触发了事件“买家向我打钱了”。卖家此时就会发货,收据返回到卖家和买家,因为买家的事件“卖家向我发货了”被触发。客户端更新界面。这种架构中,只有很小的部分放到了区块链上,主要是涉及交易的部分。这里只是举例说明。这种架构的好处是可以节省费用。小结:这小节主要介绍了以太坊Web应用组件和两种应用架构。不足之处,请批评指正。
2024年10月22日
8 阅读
0 评论
0 点赞
2023-03-06
公链主网上线后会有什么影响?|白话区块链入门214
友情提示:入门连载已经 200 多期了,大白建议新入门的小伙伴们可以去文末扫描二维码,进入科普目录从 0 开始学习噢!作者 | 宇星出品|白话区块链(ID:hellobtc)最近两年,我们总是听见一些区块链项目会有主网上线。比如,2018 年 ,EOS 主网上线等。那么到底什么是主网上线,为什么要主网上线呢? 01 什么是主网和测试网?在讲主网上线之前呢,先了解一下什么是主网和测试网。以上是在以太坊区块链浏览器( Etherscan )上截取的一笔交易详情图。点击以该页面右上角的以太坊图标,可以看到当前这个区块信息是记录在以太坊主网,即这笔交易是在以太坊主网上进行的,这笔交易进行完后被记录在了以太坊公链上,这是一条大家都公认可信的区块链,下面的 Ropsten Testnet 等则是测试网,主要是给开发人员做开发测试用。总的来说,主网就是区块链社区公认的可信区块链网络,而有效的区块以及交易等信息,在经过区块链网络的共识后,就会被记录在这个主网的区块链账本中。 02 什么是主网上线?主网上线就是把已经开发完成的公有链放到网络上去公开运行。这样一来,这条公有链就是一条真正的区块链。以 EOS 为例,EOS 在主网上线之前,它是基于以太坊上的 Token,以太坊就像是 Windows 操作系统,它提供了一个平台,开发人员可以基于智能合约在以太坊上开发应用和发行 Token。而主网上线前的 EOS 就像是在以太坊这个“Windows 操作系统”中的一个电脑软件一样,它是依托于以太坊这个平台的。而主网上线后的 EOS 就不一样了,它就是一个质的飞跃,主网上线后的 EOS是一个真正的区块链,它有着自己的公有链,而且还同样为用户提供了类似于以太坊那样的可以开发应用的功能。这就好比说主网上线后的 EOS 是另外一个版本的 Windows 操作系统,这样别人可以基于 EOS 开发很多电脑软件,就有一种翻身做主人的感觉。而且EOS 相比于以太坊还有许多优势,可以看白话之前的推文《BTC、ETH和EOS相比较,有什么区别?》。 03 主网上线意味着什么?首先,主网上线,意味着项目成型。项目的 Token 不再是基于以太坊标准协议开发的 ,而是有了自己的 Token。Token 从“空气虚拟资产”变成了有实际项目支撑的虚拟货币,这也是为什么大多数投资者们愿意把目光转向主网上线后的项目中。其次,主网上线后,其项目自己的 Token 会登录到许多交易平台,使得项目的Token 的流通量更大,也使得用户量猛增。不仅如此,前面讲主网上线的概念时大白提到主网上线后相当于有了一条真正的区块链,这个区块链相当于一个新的Windows操作系统,这样一来,会吸引更多的用户基于这个平台开发一些新的应用(“电脑软件”),进一步丰富项目本身的生态。 04 小结主网上线会带来许多好处和优势,这也是为什么各大项目都争先恐后的想把自己的项目进行主网上线。但是主网上线也不是说这个项目一定完全落地,像 EOS 等也在做进一步的发展路线规划,也不意味着项目的加密货币一定会有所增长,所以还是要时刻铭记:投资有风险,投资需谨慎!对于主网上线,你还有什么看法呢?欢迎在留言区分享你的观点。「白话区块链入门系列」互动有奖本文发布24小时后,将精选一名留言者,奖励8.8元红包;指出本文事例、逻辑等重大错误、并提出优秀建议的留言,一经采纳,奖励50元;本系列长期接受投稿,稿酬丰厚。后台回复「投稿」获取详细信息。往期内容精选♢006 比特币的矿工和挖矿是什么意思?♢014 虚拟货币价值的本质是什么?♢015 神奇而有趣的比特币♢018 被称为“区块链2.0”的以太坊是什么?♢021 被称为“区块链3.0”的EOS是什么?★后台回复「入门」获取完整目录!★——End——『声明:本系列内容仅供区块链科普入门学习,不构成任何投资意见或建议。如有任何错漏,敬请留言指出。』亲,据说99.9%有品位的人都点了「在看」????
2023年03月06日
14 阅读
0 评论
1 点赞
2023-03-06
又来一位“中本聪”!到底如何才能证明“我才是中本聪”呢?| 白话区块链入门190
作者 | JackyLHH出品|白话区块链(ID:hellobtc)北京时间 8 月 19 日,一位自称是“真正的”中本聪的人开始在 satoshinrh 网站揭开他作为比特币创始人的身份之谜。他称自己是巴基斯坦人,居住在英国,因邮箱被黑导致最初的邮件丢失,又因硬盘崩溃丢失了 98 万枚比特币。然而,加密货币行业里的从业者似乎并没有在这位自称是“真正的”中本聪的人发布自证文章后,表现出非常大的兴趣。或许,整个行业已经对“谁是中本聪”这个话题熟视无睹了。其实在早些年,关于“谁是中本聪”是一个很热门的话题,很多媒体、电脑极客、区块链爱好者都曾纷纷寻找中本聪。2014 年,《新闻周刊》发文称其找到了中本聪本人——多利安·中本聪(Dorian Nakamoto)。同年 9 月 13 日,隐匿多时的中本聪突然发帖,否认了此事。随后,多利安·中本聪也表示,自己并不是比特币创始人中本聪。后来,CSW(Craig Steven Wright)站出来称“自己才是中本聪”。比特币“养父”、前比特币核心开发团队的领导者加文·安德烈森(Gavin Andresen)也曾力挺 CSW,后来加文·安德烈森后悔了。但即便到了今天,CSW 也一直声称自己才是真正的中本聪,业内人士给了他“澳本聪”的称号。▲左:多利安·中本聪;右:澳本聪(CSW)在《中本聪是如何完全匿名的?全世界人肉搜索都无可奈何》一文中,白话区块链给大家介绍了坊间流传的几个中本聪版本:1、外星人;2、未来穿越者;3、已离世;4、一个团队;5、英国人。很多人也许有一个疑问,如果真正的中本聪还活在世上,那么,他应该如何证明自己才是正真的中本聪呢?其实,这几年中也有不少文章、论坛帖子的话题就是关于“如何自证自己是中本聪”,比如说美国的《连线》杂志(Wired)在 2016 年 4 月就发过一篇题为《如何证明你是比特币创始人中本聪》的文章。在众多自证中本聪的方法中,公认可信度最高的方法,是通过私钥进行签名。币安的 CEO 赵长鹏(CZ)就曾表示:真正的中本聪可以对任何消息进行数字签名以证明其身份,这就像呼吸一样简单,我们也有公钥(去验证)。2009 年 1 月 3 日,中本聪创建了比特币创世区块(区块高度为 0 ),并在上面“刻”下了“The Times 03/Jan/2009 Chancellor on brink of second bailout for banks(此时正是英国财政大臣被迫考虑第二次出手缓解银行危机的时刻。)” 创世区块的 50BTC 区块奖励,由于其设计,是不能被转移或是拿去消费的,但接收这 50BTC 的比特币地址对应的私钥可以对其他消息进行签名。此外,2009 年 1 月 9 日,比特币网络一共有 14 个区块(区块高度 1~14)被挖出,这 14 个区块的区块奖励被分别存储在 14 个不同的比特币地址中,其中有 1 个比特币地址(区块高度 9 奖励的 50BTC 存放地址)在 2009 年 1 月 12 日转出了 10BTC 给密码学家 Hal Finney(哈尔·芬尼,这笔交易也是比特币史上的第一笔转账交易),剩下的 13 个地址均未发生任何转出记录。这 14 个比特币地址也被业内公认为是中本聪控制的地址,如果要自证中本聪,可以对这些地址中的比特币进行转移。CSW(澳本聪)一直声称自己才是中本聪,并用类似于“零知识证明”的方式(描述/提供创造比特币过程中的一些事件/资料等等)来证明,但业内大部分人并不买账,原因就是他一直不肯(或是不屑)用私钥来证明。如何自证中本聪?在 Bitcointalk 上,一位网友给了一个“神回复”:如果你还要问别人,那你不是中本聪。你认为谁是中本聪还重要吗?为什么?欢迎在留言区分享你的观点。「白话区块链入门系列」互动有奖本文发布24小时后,将精选一名留言者,奖励8.8元红包;指出本文事例、逻辑等重大错误、并提出优秀建议的留言,一经采纳,奖励50元;本系列长期接受投稿,稿酬丰厚。后台回复「投稿」获取详细信息。往期内容精选♢006 比特币的矿工和挖矿是什么意思?♢014 虚拟货币价值的本质是什么?♢015 神奇而有趣的比特币♢018 被称为“区块链2.0”的以太坊是什么?♢021 被称为“区块链3.0”的EOS是什么?★后台回复「入门」获取完整目录!★——End——『声明:本系列内容仅供区块链科普入门学习,不构成任何投资意见或建议。如有任何错漏,敬请留言指出。』亲,据说99.9%有品位的人都点了「在看」????
2023年03月06日
7 阅读
0 评论
0 点赞
2023-03-06
为什么中本聪一直“戴着面具”?| 白话区块链入门120
白话区块链从入门到精通,看我就够了!「白话区块链入门」系列让零基础的小伙伴也能轻松入门,扫描文末二维码,获取全部零基础文集。欢迎在文末点赞留言,说说你最想了解的区块链小知识,参与有奖哦!作者 | 比特猫日报出品|白话区块链(ID:hellobtc)最近,有个叫“澳本聪”的人因为一再冒充自己就是比特币创始人中本聪,被比特币社区成员围攻,越来越多的人加入到了这场口水战。那么,究竟谁是中本聪呢?“澳本聪”是中本聪吗?如果我们在搜索引擎中输入关键词“中本聪”,在搜出来的相关图片中,我们会看到电影《V字仇杀队》中的V字面具。另外,很多有关中本聪的文章中也都会用到这个V字面具配图来代表中本聪。为什么大家会用电影《V字仇杀队》中的V字面具来代表中本聪呢?这要从《V字仇杀队 》这部电影说起。这部电影的背景设定是未来的英国处于极权统治。电影的男主是一个从头到尾都一直带着一张V字面具的神秘人,他拥有超越普通人的智商和战斗力,为了推翻英国的极权统治阶层,成立了神秘的地下组织。《V字仇杀队 》这部电影在豆瓣上的评价非常高,有接近9分。另外,在《V字仇杀队》这本电影当中饰演神秘人V的演员真实身份是雨果·维文。光听名字可能没什么印象,其实雨果·维文还演过非常多我们熟悉的电影角色,比如《黑客帝国》里的斯密斯特工,《指环王》里的精灵国领主,他甚至还给《变形金刚二》中的威震天配过音。再说回来这个V字面具,神秘人V象征着对极权高压统治社会的抵制。在电影中,神秘人V有一句经典台词:我们被教导要记住思想,而不是某个个人,因为个人是有可能失败的,他可能会被捕,被杀死,被遗忘,但400年后,思想仍然可以改变事件。在电影的最后,广场上有许许多多的平民都带着V字面具出现了。有人问,神秘人V到底是谁?这时,女主说:神秘人V是你,是我,是大家,是我们每一个人。在描述这个神秘人V以及他说过的经典台词时,会不会联想到比特币的创造者中本聪呢?中本聪就像神秘人V一样,始终都带着一个“面具”,让别人无从得知他的真实身份。我们很多人,尤其是新接触这个行业的人会经常问,中本聪到底是谁?对于这个问题,比特币社区成员给出的答案是:中本聪是你,是我,是大家,是我们每一个人,大家都是中本聪。即便在对抗极权政府的过程中神秘人V最后死了,但神秘人V所代表的自由理念仍然存在,由无数个带着V字面具的普通民众接力下去。中本聪在创造了比特币之后,又很快退出了大众视野,但他创造的比特币即便离开了中本聪也依然在不断茁壮地成长。你觉得中本聪隐藏自己的真实身份是好事还是坏事?为什么?欢迎在留言区分享你的观点。以上内容来自蜻蜓FM白话区块链学堂的《区块链比特猫日报》,可以点击此链接收听——End——『声明:本系列内容仅供区块链科普入门学习,不构成任何投资意见或建议。如有任何错漏,敬请留言指出。』亲,据说99.9%有品位的人都点了「在看」????
2023年03月06日
7 阅读
0 评论
0 点赞
2023-03-06
原来做市商不是“庄”?币安全球招募市商意义何在?|白话区块链入门219
友情提示:入门连载已经 200 多期了,大白建议新入门的小伙伴们可以去文末扫描二维码,进入科普目录从 0 开始学习噢!编译 | JackyLHH来源 | Hackernoon出品|白话区块链(ID:hellobtc)9 月 30 日,币安宣布已启动全球市商计划,将面向全球征集市商提供商(Market Maker)。很多人或许听说过「市商」这个词,但是没有深入了解过什么是市商,为什么交易平台要招募市商。今天,我们就一起来了解一下。1、什么是做市?做市,指交易者在市场中同时向买卖双方提供流动性的行为。流动性是指在不显著影响其价格稳定性的情况下,可以快速买卖资产的程度。市商通过报价来买卖资产,从而“做市”。举个例子,假设张三是某个交易平台 EOS/USDT 交易对的市商,当前 EOS 的最新成交价格是 3USDT。张三可能同时挂出相同数量的卖单和买单,比如以 3.05USDT 的价格挂了 1000EOS 的卖单,以 2.95USDT 的价格挂了 1000EOS 的买单。现实中,市商一般是通过计算机程序自动执行的,挂单时也会分阶梯挂单。2、为什么我们需要市商?对于给定的资产,最佳买价(买一价)和最佳卖出价(卖一价)之间的差,称为「买卖价差」。流动性低的市场,通常在其订单簿中具有较大的买卖差价。价差的大小会直接影响市场的交易量,一般来说,价差缩小意味着会有更多的交易量。市商的一大作用,就是通过发布更小的价差来促进市场的流通性,从而使市场更加高效。上图左边是某交易市场中 BTC/USD 交易对,价差为 0.01 美元;右边的 EOS/USDT 交易对,价差是 0.6223USDT。除了买卖差价外,确定资产流动性的另一个因素是订单簿深度,即可以在给定价格水平下,可以购买的资产数量。在上面的示例中,市场参与者可以以微不足道的损失买卖数千美元的 BTC。而在 EOS 上,即使交易者仅买卖少量 Token,他们将立即损失 8%。如果想买卖价值数千美元的 EOS,损失将更加严重,因为深度不足、流动性差。3、市商带来的好处无论是对普通投资者,还是项目方、交易平台,市商都能为其带来好处。对于普通交易者而言,市商带来了更加充足的流动性,投资者可以以更合理的价格买卖自己手里的加密资产。对于项目方而言,市商确保了 Token 始终有潜在的买卖双方,对 Token 经济和项目的未来发展提供了基础。对于交易平台而言,因为市商提供了流动性,收紧了交易对之间的价差,有利于增加交易平台的订单量,最终吸引更多的客户来该交易平台进行交易。这也是为什么币安要在全球范围内招募市商都一大原因。除了市商,你认为还有哪些因素会影响市场的流动性?欢迎在留言区分享你的观点。「白话区块链入门系列」互动有奖本文发布24小时后,将精选一名留言者,奖励8.8元红包;指出本文事例、逻辑等重大错误、并提出优秀建议的留言,一经采纳,奖励50元;本系列长期接受投稿,稿酬丰厚。后台回复「投稿」获取详细信息。往期内容精选♢006 比特币的矿工和挖矿是什么意思?♢014 虚拟货币价值的本质是什么?♢015 神奇而有趣的比特币♢018 被称为“区块链2.0”的以太坊是什么?♢021 被称为“区块链3.0”的EOS是什么?★后台回复「入门」获取完整目录!★——End——『声明:本系列内容仅供区块链科普入门学习,不构成任何投资意见或建议。如有任何错漏,敬请留言指出。』亲,据说99.9%有品位的人都点了「在看」????
2023年03月06日
8 阅读
0 评论
0 点赞
2023-03-06
多重签名很安全但不够隐私?环签名和盲签名了解一下 | 白话区块链入门 181
作者 | 三黎出品|白话区块链(ID:hellobtc)众所周知,区块链是一个分布式账本。对于账本而言,其私密性极其重要,因此发掘一些技术来保障其安全性变成很多人的研究方向,签名技术便是其中之一,而不同的签名方式带来的安全性也不同,如多重签名、群签名等等,今天就让我们聊聊数字签名技术中的环签名和盲签名是什么? 01环签名环签名,按字面意思就是环绕着的签名,其实这不无道理。相传,环签名的思想来源于十七世纪的法国。当时法国大臣为了给国王进谏,但不想让国王知道是谁领头的,就采取了环形的签名方式,签名围绕成了一个圈,名字也就没有了先后顺序,带头人是谁也就无从知晓。而环签名( Ring Signature )这个词是 2001 年 Rivest、Shamir 和 Tauman 这三位密码学家提出的,它是一种数字签名方案,也是一种简化的群签名,在环签名中只有环成员没有管理者,不需要环成员间的合作。环签名的过程是这样的:1.密钥生成;2.签名;3.签名验证。利用了非对称加密技术,私钥加密(签名),公钥解密,从而一定能确定是拥有私钥的那个人签的名。通俗地举个例子就是:第一步:密钥生成。在一个合租公寓里,每个人都拥有一个不同的大门密码(公钥),另外各自都有自己的卧室小门钥匙(私钥);第二步:签字确认。清洁阿姨每周都要来打扫,房东要求每位租客在清洁阿姨每周打扫时接待她,但租客并不想让房东知道是谁每次给阿姨开门。阿姨要进来时,只能通过其中一个租客提供一个公钥。阿姨每次进门只能通过某个租客的公钥开门,但是由于阿姨没有私钥,进不去每个租客的小门,也不知道自己用了谁的公钥(房东可以根据阿姨是否可以进门得知是租客给阿姨开的门,即签名确认)。第三步:签名验证。房东可以根据阿姨可以进门和是否打扫过得知是租客给阿姨开的门,但不知道是哪位租客。环签名不需要管理者,由于其无条件匿名性和不可伪造性的特点,使得其在隐秘性方面比一般的群签名更加突出。在众多数字货币中,门罗币正是运用了环签名这项技术,也是公认的隐私性最好的加密货币之一。 02盲签名如环签名一样,盲签名是一种特殊的数字签名技术。盲签名因签名的人看不到所签署文件的具体内容而闻名,它有两个显著的特点:一是签名者对消息的内容是不可见的 ;二是签名被公开后,签名者不能追踪签名。1983 年 ,David Chaum 提出盲签名,主要是为了实现防止追踪( unlinkability )。有人用一个很形象的例子来形容盲签名:先将隐蔽的文件放进信封里,任何人不能读它,对文件签名就是通过在信封里放一张复写纸,签名者在信封上签名时,他的签名便透过复写纸签到文件上。这样一来,签名的人看不到签名的内容,即便签名被公开,签名者也无法得知这个签名是哪次签署的。有人会想签名者都看不到签名内容,谁愿意签字呢?有什么应用场景呢?举个例子:在日常买东西的时候,现金支出是很难让别人追踪的;但在网上转账的时候,很容易被第三方(如银行)查到自己的消费情况,盲签名的作用就是为了不让银行知道你的钱花到哪里去了。在盲签名操作过程中最重要的便是盲化技术,给签名者的数据是经过盲化之后呈现出来的,在签名之后且去盲化后,是不能让签名者联想起之前的盲化数据。03小结环签名和盲签名的不可追踪性是签名技术的一个重大突破,但这也给了犯罪分子可乘之机,还需要不断地完善其功能,如盲签名又衍生出了公平盲签名等。随着数字货币的发展,数字签名技术也变成了重要且急切的研究方向。什么样的签名技术可以更好地保障我们的数字资产隐私,这仍在不断探索当中。你还知道或者了解什么数字签名技术?欢迎在评论区留下你的观点。「白话区块链入门系列」互动有奖本文发布24小时后,将精选一名留言者,奖励8.8元红包;指出本文事例、逻辑等重大错误、并提出优秀建议的留言,一经采纳,奖励50元;本系列长期接受投稿,稿酬丰厚。后台回复「投稿」获取详细信息。往期内容精选♢006 比特币的矿工和挖矿是什么意思?♢014 虚拟货币价值的本质是什么?♢015 神奇而有趣的比特币♢018 被称为“区块链2.0”的以太坊是什么?♢021 被称为“区块链3.0”的EOS是什么?★后台回复「入门」获取完整目录!★——End——『声明:本系列内容仅供区块链科普入门学习,不构成任何投资意见或建议。如有任何错漏,敬请留言指出。』亲,据说99.9%有品位的人都点了「在看」????
2023年03月06日
9 阅读
0 评论
0 点赞
1
...
13
14
15
...
23