大家好,这里是圣男说区块,今天我们要讲解的是区块链中节点的类型。 在一个区块链网络中,一般来说会有三种主要的节点类型,就是清洁点、普通全节点和记账节点。我们仍旧是以 之前关于交易的生命周期的这样一个视力图为例,我们来看看到底什么样是清洁点,什么是全结点和什么是记账结点。 清洁点的话一般来说是用在移动电子设备,就是这种呃存储比较有限的这种设备中。清洁点的特点是他只下载了或者它里面只包含了区块链中的区块头的信息,而不 包含每个区块里面这个交易列表信息。因没有交易列表信息,所以说在清洁点是不知道一笔交易 是否在区块链中,也不知道一个账户的余额是多少的,他都是一定要通过整个区块链网络,然后去连接到其他的全景点, 然后从其他的奇迹全景点去查询到对应的信息,然后才能在这边做验证和进行对应的交易的创建。 好,这是我们的清洁点的情况。接下来我们再看看普通全节点,普通全节点的话,其实顾名思义就是它里面有完整的全账本的区块链的数据,在这里面就包括了从创世区块,也是说地 零号区块到最新的区块的所有的区块头和里面的交易列表,所有的数据都在这里面。 所以我们如果是一个基于全账本创建的一个钱包的话,那么用户要查询他的余额,或者是查询某笔历史交易是不是真的存在,只需要自在自己的本地的账本中进行查询就可以了,他不需要像 节点一样的再去反问其他的节点,向其他的节点询问交易信息和那个账本的一些数据 啊,所以我们大家可以看到用户逼的这个节点和这里的这个节点都是普通的全账本节点。接下来我们再来说一说记账节点。记账节点的话,他其实本身他也是一个全节点, 它里面也保存了完整的区块链的信息,但是和普通的权杖本节点不同的地方是在于它可以产生新的区块, 记账结点和不一定是一个,也可能是有很多很多个记账结点,在区块链网络中,他们相互之间形成一个竞争或者是合作记账的模式,不断的产生新的区块。因为我们在 以特币网络或者是以太坊网络中,我们经常把这个产生新区块,因为有奖励,所以说也把它叫做挖矿,所以说记账节点也叫做挖矿节点。 好,这就是记账节点的一个行为。除了前面介绍的这三种节点之外,其实针对不同的区块链网络,可能还会有其他的一些节点类型出来,比如说有专门负责进行陆游的陆游节点, 有专门负责进行合约执行的合约执行节点,这是根据具体的区块链的网络的类型,然后才进行进一步的划分的。但是最主要的区块链网络中的三种节点类型就是清洁点、全账本节点和记账节点。
普通人学习外普森最大障碍就是区块链的工作原理。其实这个原理并不复杂,今天咱们以大饼为例,花两分钟的时间帮你打消对技术的恐惧。 首先,大饼的目标是打造一个不可篡改的账本。它的基本思路相当简单,就是把一个账本复制 n 遍,然后放到网络中的 n 个节点上去保存。当 n 足够大的时候,任何人想要篡改全网所有节点上的信息,都是不可能完成的任务。 其次,大饼的突破性创新是解决了网络环境下的交易验证问题。假设网络上发生一笔交易,李雷给韩梅梅十个大饼, 这时李雷的钱包会向全网广播这笔交易。由于网络通信的原因,有些节点收到了信息,有些则没有。站在收到信息节点的视角上看,他们仅仅是听说李雷给了韩梅梅十个大饼。这笔交易是否真实发生并不清楚。 是收到消息的节点需要做两项验证印证一、确认消息是李雷发出的印证二、确认交易的内容是李雷给行 妹妹十个大饼。为了实现这两份交易节点,要求任何交易广播时,除了交易内容本身以外,还必须包含两个信息,一个是交易内容的米哈西值,另一个是付款人的功药。有了这两个信息节点,就能够验证消息是不是李雷发的,以及交易内容是不是给韩妹妹十个大饼。 为什么有文秘、哈西职和工药就能实现这样的验证呢?这个我们回头再说。这里的关键是要搞清楚需要验证的是什么,具体如何验证是个独立的模块,不影响整个工作原理的展开。 最后,大饼的快速普及,得益于他的有奖记账机制。一笔交易如果验证失败,将直接被丢弃。如果验证成功,则需要一个节点负责将这笔交易写入到账本中, 其他 n 减一个节点直接同步更新后的账本即可,这样保证了 n 个节点的信息完全一致。那么问题来了,有哪个节点负责记账呢?大饼的机制是这样所有完成验证的节点去解一道数学题,最先 解出这道题的负责记账,而且系统会给记账的节点五十个大笔作为奖励。这就是所谓的挖矿赚钱啊。在实际场景中,节点是验证多笔交易后才去解一次数学题。先解出答案的节点会将多笔交易一次性的写入账本。这些多笔交易的集合就是所谓的区块。 将多笔交易写入账本的过程,就是将新区块和老区块连接在一起的过程,最终形成了我们所谓的区块链大饼的目标。大饼的突破性创新,以及大饼得以快速普及的机制。你学会了吗?关注关蓝,讲你听得懂的外部餐。
我发现全网真的还有百分之九十九的人,无论怎么讲还是不明白什么是区块链,什么是比特币, 这次我决定换一个故事,一定要让大家秒懂。好,我们都知道两个网络节点之间,也就是两个网友之间可以直接发送文字视频,还有各种文件, 没错吧?但是有一个私欲求却是没法实现的,那就是假如我有十块钱,我并不能把钱直接通过网络发送给你。为什么会这样?因为互联网的世界里啊,刚刚说的发文字、发视频都是信息传输, 转账付款,这个属于价值转移。价值转移有个特点,他需要记账,比如我给你十块钱,我这边的账本里面需要先减少十 块钱,对方才能增加十块钱。所以过去互联网的世界里啊,我们都有一个第三方帮我们记账,比如银行、支付宝、微信支付,但是为什么他们可以承担这个记账的角色呢?因为我们所有人都觉得他可信,有权威。 但是我们有没有想过,万一哪天支付宝、微信支付出故障了,或者某个银行倒闭了,又或者某个地方支付宝和微信银行都没有覆盖,我们该怎么办?区块链就是为了解决这样的问题而诞生的。 那么有人会问,在区块链世界里,任意两个网友如果单独的进行线上转账,谁来负责记账?区块链的方法是啊,让所有的网络节点记账, 这就是区块链所谓的分布式账本,与其信任一个人,不如信任所有人。具体的方法有点偏技术,但是我觉得大家都可以听一听,在发起一笔交易的时候,像 全网发出一个带有谜团,也就是密码的一个区块,许多节点呢,争着去解这个谜。 解谜之后呢,会在全网发出信号,然后所有的节点同步这个信息,全部节点记账完成,这笔交易就完成了。那么第一个解出谜底的这个节点呢,他会获得奖励,也就是比特币的 早期的原型。在区块链的账本里面啊,所有的账目都是公开的,无法篡改的,而且都是同步的。区块 块链解决了全世界任何两个网络节点之间在价值转移当中的记账信任问题,这就是为什么区块链具有独特性的原因。 还有一个问题是,网络世界造出来的币为什么会有价值?这不是空气币吗?这里就有个有趣的故事了,当时比特币的发明者钟本聪啊,最开始把比特币和美元的汇率定为一枚 美元等于一千一百零九个比特币,这个数字很有意思,他是根据美国的电费算出来的, 当时他根据每挖一个币需要的平均电费来计算比特币的价值。那为什么现在比特币长得这么高的呢?这里有几个原因啊。首先比特币模拟的是黄金属性, 他为了防止通货膨胀,只设置了两千一百万个,挖完就没有了,因此具有一定的稀缺性。其次就是符合经济学的原理的一些东西了,比如一个物品为什么会有价值,无非就是大家信任,大家认可,大家有共识。 就像深圳的房子一样,他的成本价没多少钱,但是现在的价格已经很高了。当年发现黄金的时候,如果大家不认为他是一种货币,不信任他,他充其量也就是一种稀有金属罢了。 所以比特币你信他就是电子黄金,如果你不信他,他就是空气。但比特币无论走势是怎么样的,我坚信啊,区块链一定是未来具有划时代意义的技术。
区块链是什么?那我们先从一个小小的故事开始说句,今天李孔悦老师在制作视频课程, 当你看到我制作的这个视频的时候,你就要提出疑问,你孔悦老师的视频有没有被人修改过? 我看到的是不是李孔悦老师制作的视频的完整版,最真实的版? 我怎么证明我的视频就是原创,没有一个人篡改过一个标点符号呢?如果有人想诋毁我,而且这个人的 力量强大到可以动用国家的力量,他可以诬陷我李孔月制作的短视频侵犯了某某某某版权, 我拿不出证据来证明我是清白的,我是原创。那有人说你可以到公证处去公证呀, 如果这个人的能力强大到可以动用国家的机器,任何公正也是无效的。所以要自正自己的清白在国家的力量的面前比登天还难。 于是有一项技术出现了,这项技术叫曲宽面,二零零八年中本从体 现在我可以通过三步来证明我的视频就是我的原创。第一步,录制短视频。第二步, 通过电脑上的一个小程序开始制作电子识别码。 这个小程序以哈西函数为基础,构建了一个 哈吸值,这个哈吸值是不可篡改的,如果我的文章,我的视频被篡改了,一句话,以哈吸函数为基础深称的哈吸值不可能完全一样。第三步,我在比特币 区块链做一个小小的交易,而比特币的区块链有一万多个节点,所有的节点都记录啊,这个交易 证明我这个交易的真实性。任何人没办法改变交易节点上的信息,除非外星人 再强大的国家力量智能服役毁灭。区块链上的节点不能篡改其中的一个标点符号。 完成这三步,我就可以证明这个视频是我的原创。没有区块链的情况下,这几乎是不可能的。那什么是 区块链呢?我再做一个小小的比喻。区块链相当于一列长长的列车,每个车厢都装作一块信息,所以叫信息快。 每一个车厢都具有独立的计算能力,独立的保存信息的能力,这叫分布式记账, 去中心化,每一个车厢的记账的内容是完全一致的,没有任何人的力量可以篡改他。 什么叫去中心化?比如我们汇款要通过中介银行,他有中心,那么 区块面出现的是点对点的直接交易,把中介怎么样去掉了,这叫去中心化。那么去中心化背后我凭什么相信你呢? 区块链这样的不可创立性形成了共识,因为背后是用算化怎么样做基础的,而且所有的节点都有记录,没人能篡改这种信用,形成了共识。 呃,中介机构,比如公正处的共识机制是用国家的信用做背书,而国家的信用跟数学的算法的信用,谁更可信?所以区块链技术,或者说比特贝这样的数之货币 背后的三大底层逻辑,不可篡改性,节点的记账权。第二,去中心化,点对点的交易,去掉了中间的中介。 第三,背后形成的机制是全世界共识的,所以叫共识信用。
大家好,说个互联网冷门中的高界玩法,那么今天呢,我们就来说一下一些小山寨的收割过程。先从发币开始说,他们先是以以太房恋上发个一千亿证明他们的大佬身份, 不到五分钟就有了他们自己的代币了。光有币也不行啊,肯定得上交易所,目的呢是让别人也跟着他发财 上币安火币又太贵,于是他们就选择了不去中心化的交易所,添加了自己的代币之后啊,就可以去什么 qv、 智斗、快红,把能吹的都吹上了天,还整个像样的 官网和白皮书都是一键生成的模板,多的是内容那必须得全英文,老外在台再搞个 defi, 对代币回购、质押、奖励、分红,一整套流程下来啊, 这个时候开始有人入局了,光是这些肯定还是有人顾虑啊。为了让项目更真实, web 三点零这个概念必须得上搞个数字产品 app, 盲盒系统。甭管他是三点零还是五点零, 反正项目方说他是落地项目,他就是。或者是告诉你,他在他主页上线之前都是以手机挖矿,你挖到了币以后都是 usdt。 所有的这些操作啊,目的就是让别人知道,再不入局你就会错过暴富了。就这样 弄出来的东西,打了一整套组合权之后就把你给打蒙了,入局后的结果可想而知吧。类似的平台还有很多,比如资金盘区、快链,交易所挖矿等等,很多都是打着高收益的旗号,挥舞着最锋利的镰刀。所以时刻 要保持必要的清醒,不要天真的以为你就是那个唯一的天选之子,无论这个东西对你来说有多新鲜,深入了解它的底层逻辑,才能防止被收割。关注我,一个带你深挖互联网金融行业的内幕的频道。
比特币区块链节点的概念?大家好,欢迎来到教官论练频道,今天和大家聊聊比特币区块链节点的概念,喜欢的点赞评论加关注。 区块链技术解释工信部二零一八年中国区块链产业白皮书广义解释,利用快链式数据结构来验证和存储数据, 利用分布式节点共识算法来生成和更新数据,用密码学的方式来保证数据创书的访问和安全。 利用由自动化脚本代码组成的智能合约来变成合操作数据的一种全新的分布式基础架构与计算范式。简而言之,分布式数据存储、 点对点传输、共识机制、加密算法等计算机技术的新兴应用模式。区块链是一个生而自带信任和安全 等功能的超级平台。与现在互联网平台相比,区块链通过代码、算法和规则构建了一个几乎零成本的信用机构,在其系统里交易无需中心化的第三方,例如银行、证券等机构的背书节点。我们从比特币的节点来看, 每个比特币节点都是路由区块链数据库瓦矿钱包服务的功能集合,每个节点都参与全网络的路由功能,同时也可能包含其他功能,每个节点都参与验证并传播交易及区块信息, 发现并维持与对等节点的连接。节点功能第一个功能是钱包,这里的钱包指的是钱包软件,而非地址加撕药。本身钱包的功能包含收集钱包中的地址相关的 ucso, 以便统计出地址余额, 构建交易、发送、交易等等转账相关的功能第二个功能是用挖矿,挖矿节点会去收集交易,制作区块头,然后参与抛算利比拼,找到随机数生成区块,并获得出块奖励和手续费。第三个功能是保存完整区块链,区块链数据庞大, 所以并不是所有比特币节点都会下载完整的最新的区块链。第四个功能是陆游 稍后会看到所有类型的节点都会有这个功能,所有的节点又有义务帮助其他节点去验证和扩散交易, 去查找其他节点,去维持整个网络的连接。节点角色,一些节点保有一份完整的最新的区块链拷贝,这样的节点被称为全节点,全节点能够独立自主的教练所有交易,而不需节约 任何外部参照。全节点作用,保存完整账本和验证交易。全节点能够验证比特币网络中的交易,成为比特币网络的第二层防御,保障比特币网络安全。另外还有一些节点只保留了区块链的一部分, 他们通过一种名为简易支付验证 spb 的方式来完成交易验证,这样的节点被称为 spb 节点,又叫轻量级节点。矿池节点首先一种是矿池服务器, 很多比特币矿工会凑到一起组成矿池来一起挖矿,矿池会搭建专门的矿池服务器来跟比特币的 p 组 p 网络直接通信。保存了完整的区块链,挖矿节点就只需要跟服务器通信。另外一种是矿池,挖矿节点虽然也参与挖矿,但是这类节点上只拼命运算, 而不会去保存完整的区块链,这样就节约了存储成本。根矿池的这种服务器客户机架构类似钱包,也有类似的钱包服务器节点,可以让清节点通过特定的协议去更加高效地获取最新区块链数据。感谢收看!
好,这一期的视频教程来教大家开发一个 swap。 那么说到这个 swap, 大家应该都知道在 beyond 智能链上面比较火的一个去中心化交易所 pancake swap, 也就是我们通常说的薄饼, 那如何开发一个像薄饼一样的交易所?首先我们要了解的是薄饼这个交易所整体的运行的这样一个流程,包括他的自动做事商的这样一个机制 啊,还有就是他的这个开源出来的智能合约啊,这一些整个流程跟智能合约也有很大的关系。那么内部的流程了解完了之后呢,我们还要从项目的开发,项目的角度出发,来带大家看一下这 一个 swap 开发的具体流程。想要开发这样一个 swap, 首先要做的是这个 ui 设计, ui 设计完成之后呢,我们要将这个 ui 设计稿交给我们的前端开发啊,这两个步骤跟这个传统的项目都是一样的 啊,那么跟传统项目有区别的地方呢?就在于前端开发完成之后呢,我们要做这个数据方面的交互, 关于数据方面的教护,它可以分为 app 和 dapp, 那么 app 和 dapp 有什么区别呢?它们主要的区别就在于 dapp 可以直接与 合约交互,那么 app 呢?一般是从这个数据库,从这个直接与这个后段去进行交互,那么直接与后段交互的 app 呢?我们就叫做中心化 项目,那直接与合约来交互的 dapp 呢?我们就叫做去中心化的项目啊,他们俩本质的区别就在于数据存储的位置不同,那去中去中心化的项目呢?因为直接与合约交互, 那么合约呢,是直接把数据存储在区块链当中,所以叫去中心化的项目。那么中心化的项目呢,它是数据是存储在这个这个数据库当中啊,就是我们随时可以篡改这个数据,所以呢它叫做中心化的项目。 我们今天要开发的 swap 呢,毫无疑问啊,他是一个去中心化项目,因为他是直接与合约进行交互,没有后端啊,所以,嗯,我们先给大家看一下这个页面的效果。 好打开这个页面之后呢,我们能够正常的看到,呃,这个这个页面上的功能基本上跟薄饼是一模一样的功能啊,包括,呃这边也有这个添加流动性和带币之间的兑换, 呃,包括这个就是我们通常说的这个加池子和这个车池子这个功能,嗯,只是这个 ui 方面呢,可能有点不一样啊,如果说有需要的话,呃,在 你们拿到这个代码之后呢,可以根据自己的自己的要求去把这个 ui 方面,包括前端页面的这个排版布局,根据自己的要求呢去做一个调整 好。那么页面展示完了之后呢,我们再继续回到开发流程,开发流程图, 嗯,我们仔细的给大家介绍一下这个合约交互与后端交互的区别。那么使用合约交互呢,一般使用的是外部三点 g s 和这个 i 则点 g s, 呃,这两个库呢,主要是提供给加 boss scrape 的区域调用 啊,那么家外呢,也有他自己可以调用的库,他的库叫做外部三界,呃,有兴趣的话可以去搜索一下这个外部三界,那么在 app 中呢,与他通常是直接与这个后段进行交互, 那么在与后端交互的过程中呢,通常用的是这个夹碗和这个蚂蚁收口,呃,夹碗呢负责对数据的增三改差,那么蚂蚁收口呢,就是负责对数据的存储,呃,通常呢做这个传统项,做传统项目的朋友们应该 都呃很熟悉这个蚂蚁搜狗和家吧。还有一个问题呢,就是,呃,很多朋友问我说这个,呃,做这个传统的项目和做去中心化的项目,嗯,哪一个开发成本比较大一点, 那么这个是没有确切的哪个开发车们比较大,这个也是要试项目的具体情况,具体的需求。嗯,今天呢,我们主要是介绍这个 dapp 项目啊,所以这个后端,呃,这中心化项目我们就不做剥夺的介绍。 dapp 项目呢,主要用的是这个 yp 三 gs 和这个 idgs。 嗯,我们来具体的 具体的来看一下这两个进他们的官网,来看一下这两个 apa 他们之间有什么区别,以及如何去使用这两个 ap 啊。我们在这个搜索引擎上去搜索一下他的官网,外部三点 gs 的官网。 那么外部三点 gs 呢?它的主要的功能啊,就是一些模块的加载,包括基本信息的查询啊,基本信息的查询呢,他可以查询这个外部三的版本和查看这个外部三连接到的节点的版本,还有这个基本信息的获取,包括网络状态的查询。 呃,那这个外部三呢,同时也兼容了一些这个通用的工具方法,比方说这个,呃仪态单位的转换 啊,还有这个数据类型的转换啊,包括这个字节码的字符转换,还有这个区块啊,和账户之这些相关的查询啊,以及他还有跟这个 合约交互的功能啊,同时呢他也支持这个回调函数来监听合约的事件啊,通过这个这个这个类,这通过这个库的话,我们可以啊很方便的去跟我们的这个智能合约去进行交互。 那么接下来呢,我们再来看一下这个挨着点 gs, 那么这个挨着点 gs 他跟这个外部三点 gs 有什么区别呢?他其实他主要区别就在于挨着点 gs 呢 啊,他属于紧凑小小型,同时呢也包含了这个大量的测试案例。嗯,他对新手入门的这个入门入门开发这一块的话是相当的友好,因为他用起来比较简单直观,而且,嗯,这个这个库的话在这两年是还是比较流行 啊,一般基本上很多项目都在用这个库,那么这个埃德点 gs 呢,它是主要包含了这个四个模块啊,第一个是这个提供者模块,第二个呢是这个啊智能合约模块,第三个呢就是这个工具类,第四个呢就是这个钱包,嗯, 那么通过这四个四个库呢就可以轻松的实现啊,基本上涵盖所有啊你所需要的这些功能啊,所以说用起来呢也是比较简单,比较方便的。 呃,那么在这个项目中呢,呃,用的也是这个挨着点 gs, 包括,呃在我们啊开发项目以来呢,呃,其实一直用的基本上都是用的这个挨着点 gs, 所以呢我也建议,呃,如果说啊需要自 自己开发这个项目的话,嗯,还是用这个挨着点 gs 它比较方便一点啊,当然这可能也是个人习惯的问题, 那当然如果说想要自己去开发这样一个区中心化的项目的话,呃,那么肯定是,呃,不管是外部三点 gs 还是这个挨着点 gs 啊,肯定是要熟练掌握,那么其中一个啊,其实的话最好是两个都需要掌握 啊,因为这两个库是直接跟这个项目开发是有关系的。好,这两个库的话基本上就介绍的差不多了啊,包括 啊整个项目的这个流程啊,大家应该也都啊基本上啊有一个大概的这个印象啊,那么接下来呢啊,我们就回到这个 正题啊,还是来给大家去去看一下这个具体的这个实际的这个项目应用啊,那么接下来呢,我们把还是把这个代码先打开,呃, 有这个代码呢,可能啊,大家印象就比较更,更这个直观一点,嗯,好,我们把这个代码把这个代码打开之后给大家看一下 这个项目呢,也是用 no 的 gs 去做的一个项目啊,用 no 的 gs 做的项目呢,首先第一步还是要去安装一下这个依赖,就是运行一下我刚刚敲的这个命令啊,那么这里呢,我的依赖呢已经是安装好的 啊,那么安装好依赖之后呢,我们来启动一下这个项目,那等待这个等待项目打包 编译好了之后呢啊,就会看到这个前端的页面,好,我们现在看到这个前端页面已经显示出来,呃,那么进行到这一步呢,就要给大家介绍比较,呃,第二个比较重要的概念啊,就是这个合约部分 啊,首先我们知道这个项目它的功能是跟这个薄饼是一模一样的功能,那么呢实际上用的合约呢,也是一模一样的合约。呃,薄饼呢它主要是分为两个部分啊,第一个部分就是这个路由合约, 他是通过这个路由合约呢去找到这个工厂的合约。那那么我们可以从最近一笔交易点进来之后,我们看一下他的这个路由合约啊,然后,然后呢我们点进这个这个路由合约之后,路由合约里面去看一下他的路由合 里面又包含了哪些这个合约。好,现在我们这个点进去看一下。 好,我们进来这个路由合约之后呢,路由合约实际上它是起到的一个一个中间交换的一个作用。好,那我们先把这个这个路由合约先复制到我们这个项目中来,复制到我把这个这个变量把把它这个改掉。 那么在这期视频中呢,我们啊只是部署在这个主网上面啊,大家只要跟着我这个操作的步骤,把这几个文件文件中的合约地址 啊,改成我刚刚复制的这几个地址就可以了。主要就是一个这个路由地址和工厂地址啊,这两个合约地址把它改掉啊,那么一共是这个 三个文件,有三个文件这个地方需要修改。呃,那么我们再来找一下这个,那么我们再来找一下这个他的工厂合约啊,工厂里面工厂合约里面呢,还有一个这个哈西扣的,我们也要拿下来放到我们这个这个文件当中来, 我们可以看到工厂合约他其实主要功能就是这个创建这个交易队的功能,他创建交易队之后呢,再通过路由合约,好,我们现在把他的这个, 把他开源的代码中这个哈西扣的复制下来,还有他的合约地址直接放到这个我们项目中来。 那么我们改好了之后呢,可能这里 有一个文件要跟大家特别提醒一下,这个啊,这个哈西扣的这个文件,这个地址呢是放在这个这个包一个就是我们刚刚安装的依赖包下面啊,啊,就是这个按照我指示的这个这个路径找到这个文件,然后把它改掉就可以了, 那么在把这些合约地址都替换好了之后呢,这个项目可以就说是,呃,完全是属于你自己的项目了。 好,那么我们再回到这个页面啊,这个页面还有一个地方啊,我们先刷新一下, 那么在这个页面,在这个页面还有一个 地方就是这个代币的列表啊,有可能你自己也会发行一些代币,那么如何去添加到这个列表中呢啊?首先我们找到这个,这个在这个偷坑这个文件夹上面啊,有一个这个阶层文件, 那么这个阶层文件呢,它就是配置了刚刚列表中所显示的这些代比的信息。我们找到一个这个列表,我们先把它改一下啊,比方说改成这个我自己的这个代比, 那么第一个呢是代币名称,第二个呢是代币的符号,那么还有这个代币的地址,还有这个包括 你的这个图标的显示的地址。好,我们再来刷新一下啊,这里是爆了一个错误, 嗯,我们来看一下啊,可能是这个啊,这个配置文件,因为他需要根据这个合约去查询,根据合约去查询这个代币的名称,那么这个合约呢?实际上我是没有,这个实际上我应该是没有,没没有发行这个代币的,所以他这里是报了一个错误 啊,那么我们再回,再再回到这个,这个找一个有, 我们回到这个薄饼来找一个有真正图标的,这样这样一个带笔来把它添加进来。 好,我们把这个这个代表 币,我们把他的合约地址跟他的这个呆币的名称全部拿过来放到我们这个配置文件中, 我们来按照这个格式跟这个原本的格式以保持一致,然后把这个代币的名称,代币的符号添加好了之后呢?啊,等会我们再来刷新一下试试。 好,包括这个合约地址啊,都是,嗯,都是一样的,又要需要跟这个原格是要保持。
各位朋友大家好,我是逆狐一冲,欢迎来到我们 ras 语言学习的这个课堂,那么这节课呢,我们就教大家用 ras 写一个这个简单的这个区块链,那么这个代码项目哈,最终的一个结果呢,我们给大家运行一下啊,先运行一下,看一下最终的一个效果啊,那么这里呢是显示开始挖矿啊,这个 这个念开始挖矿啊,我们这里呢是让他挖两个区块啊,带上那个串数区块一起,一共是三个区块,然后挖完之后呢,我们最终是显示出来啊,这个挖矿的,这个挖一个区块的时间呢,我们设置成了十秒钟啊,这个里边设置了十秒钟, 那么具体的细节呢,我们到时候编程的时候啊,我们在大马里边给大家来讲解,那么最终你看啊,就是说我们挖了两个区块,然后呢最终把这个三个区块啊,带创世区块一起显示出来啊,这个是创世区块,你看这个这个地方写有创世区块啊,那么后面呢,我们是哎挖到第一 个区块,对吧?挖到第二个区块啊,我们把这个区块给显示出来啊,这个呢就是我们最终的程序最终的一个效果啊,那么在我们正式开始代码之前呢,我们得先给大家介绍一下啊,区块链的相关的一些知识啊,让大家有一个初步的了解,那么我们才能够啊理解我们整个这个代码为什么要这么写啊? 那么首先呢,说到这个区块链就不得不说一个啊,东西就是比特币啊,那么比特币呢,他是区块链的这个鼻祖,他实际上是两千零八年的时候啊,在网络当中有人发了一篇论文啊,这个人呢叫中本聪,当然其实到目前为止啊,其实也不知道这到底是一个人还是 一个团队啊,那么他发表的这篇论文呢,叫做比特困啊,就是说比特币一种点对点的电子现金系统啊,这个是他的一篇论文,在这个论文里边呢,他就对比特币整个的这个思想做了一个秒 描述啊,那么在零九年的时候呢,就发表了,就发布了,在网上哈发布了比特币的这个代码啊,那么我们经常说到的这个区块链和比特币他到底是一个什么样的关系呢?比特币他实际上是一种区块链系统, 但是呢,区块链呢系或者说区块链系统呢,并不一定就一定是比特币啊,当然呢,我们在网络当中很多介绍这个 区块链的相关的知识的时候,一般都只是说的比特币的这个原理,或者说比特币的这个相关的一些思想啊,因为比特币呢,为什么介绍区观念就必然介绍介绍到比特币呢?一个是 比特币呢,本身是区块链的比祖,另外一个呢,就是说比特币的他的思想很简单啊,相对说简单更容易理解啊,易于这个作为区块链学习的一个入门啊。那么比特币到底什么是比特币呢?其实比特币说白了他就是一个账本啊, 一个去中心化的共享的防篡改的分布式上门啊,注意了,这个地方我有一个修饰词,对吧?去中心化的共享的防篡改的分布式上门啊,那么呢,他实际上是这样子的,就是说这个 比特币啊,这个程序啊,或者说这个系统,每一个每一个人啊,或者每一个主体,我们都可以把它把这个程序下下来,然后放到自己的这个电脑上,或者说我们有服务器,或者,对吧?或者有一些其他设备我们放在这个上面。哎,那运行 运行的时候呢?实际上这每一个节点呢?我们运行的时候,我们比如说我们 pc 运行这个程序,对吧?我们就实际上就是就成了这个比特币网络当中的一个节点,那么 每一个节点呢,他都会保存一个这个账本,或者说保存一个区块的链条啊,那么这个账本里边哈,他就记录的这个记录的有一些交易的数据啊,记录有交易的数据,那么所有的这个节点 中都记录的这个账本,然后呢所有节点之间呢会同步哈,会同步这个账本的数据,保证 呢,就是说大家的这个账本尽量的达成一致啊,尽量达成一致,那么这样就有一个好处,比如说我记了我我的这个节点上记录了一个账本,对吧?啊?运行了比特币的程序,记录了比特币的账本,那么呢张三李四他们也运运行了这个比特币的节点,然后呢里边呢也有这个比特币的账本,那么如果是有一个人 啊,比如说有个黑客,然后控制了我的电脑,那修改了我的这个账本,那么呢其实是不受影响的啊,其实是没有,就是说对这个比特币系统是没有问题的啊,没有不不会造成什么大的影响,因为 张三和李四呢,他们也存的有这个账本,而且呢他们存的内容呢,是和我之前存的内容是一样的,就是说除非黑客把所有的节点啊,或者说把 啊,当然是在比特币里面,其实是要把二分之一的节点啊,百分之五十以上的节点你都控制了啊?都修改了,那么呢你的篡改啊,对这个交易的串改,对我这个账本的篡改才会生效啊,否则的话呢,你就说只控制少部分,那么这个我这个账本是安全的啊,或者说我这个系统都是安全的,那么这个呢,就是 比特币账本的一个基本的一个一个思想啊,当然呢,比特币的这个网络呢,他所有的这个节点呢,没有一个主持关系啊,比如说我今天登录一个节点,我明天把这个节点下线,对吧?啊?和张三李四他们登录节点,我们这个节点大家的权利都是平等的啊,都是平等的,没有什么一个主次的关系, 所以呢,他是一个啊,完全去中心化的,就说没有给中心的存在,这个网络当中没有一个中心的存在。然后呢再一个就是共享的,为什么是共享的呢?就是每一个节点上我都有这个账本,对吧?谁可以来去看这个账本,谁也 谁都可以同步这个账本啊,所以是共享的,那么防篡改呢?实际上我刚刚已经讲过了啊,就是说这个节点之间,对吧?在节点之间是互为一个备份啊,互为一个备份,所以说呢,黑客呢,他如果比如说只是篡改某一些节点的账本,那么是不管用的,对吧?啊?不管用的,那么这个就是 为什么说啊?比特币是一个去中心的共享的防窜改的分布式账本啊,而这个账本呢本身呢,它里面记录的东西是什么呢?其实就是交易,对吧?就是 a 给 b 转让多少多少个比特币, b 给 c 转让多少多少比特币,对吧?就这样一笔一笔一笔的交易啊。好, 那么这个呢是我们对这个区块链的一个介绍啊,其实主要呢是对这个比特币的做了一个简要的介绍,为什么介绍这个比特币呢?因为后边我们还有一个就是我们写的这个代码啊,啊,其实很多是参考了这个比特币的一个结构,或者说我们的区块链的这个 整个链条啊,包括区块的一些结构,其实是主要是针对比特币的啊,主要是比也一个是比特币呢,相对来说比较简单啊,比较容易理解啊。 那么这个呢是我们对这个啊区块链的一个简单的介绍,那么下面呢,我们就看一下这个比特币哈,这个我们就看一下这个比特币他整个的一个运行的过程啊,整个的一个运行的过程啊,那么我们就直接在 直接在这个里边啊,我们把这个全部放全,不需要用这个动画啊。好,那么 我们我们看到哈这个里边,你看第一步哈,第一步是用起发起用户啊,加发起交易,这个整个哈整个这个图是我们比特币运行的一个大概的一个过程啊,一个过程,那么首先呢是用户发起交易啊, 啊?什么意思啊?比如说我张三,对吧?我说张三,然后我现在比特币上面,比特币系统上面啊,或者说我电脑的这个比特币程序里面我发起了交易,我给李四转了三个比特币啊,我 在我的这个通过我电脑上的这个区块链程序,我发发起了这一笔交易,对吧?那么发起这笔交易之后,我这个电脑上的这个比特币程序就会把这笔交易 广播到网络当中啊,广播到网络当中,那么第二步呢,就是广播到网络当中,广播到网络当中之后,其他人运行的这个比特币节点,他就会输到这个交易,对吧?输到这个交易数据输 收到这个交易数据呢之后呢,他们呢也会继续广播啊,当然呢在广播之前他们会做一个验证啊,会做一个验证,根据自己的这个当前记录的这个账本来对这个交易做做一个验证。比如说张三要给李四转三个比特币,那么张三有没有三个比特币啊?对吧?有没有三个比特币啊?然后呢啊?这个 这几个比特币呢?是不是属于张三,张三的,对吧?那么就会做这样一些呃验证,对吧?做这个验证之后呢,然后会把交易继续广播啊,继续广播,那么在这个网络当中呢,有的节点呢,他是具有这个挖矿功能的啊,当然所有的全景点都是有挖矿功能的,只要你愿意,你甚至可以在你的这个笔记本电脑上面啊, 也也也那个进行挖矿,对吧?啊?进行挖矿,所以呢这个就是说所有的这个节点都是可以啊,就是说所有的这个节点地位都是均等的啊,好,那么 这个地方呢?我这个地方我们不去展开,如果有兴趣的可以去看一下京东比特币这本书啊。那么这个时候呢交易广播之后呢?然后就会,哎,有矿工节点也会收到这个交易,对吧?那么他会把交易呢放在自己的一个有一个叫交易池的东西,就是说一个池子啊,把这些收到的交易放在这个交易池里面,然后 然后呢他会做一个什么操作呢?他会对这个交易进行一个打包啊,进行一个打包,也就是挖矿,他首先呢把这个交易,比如从交易池里边取出,哎,十个交易啊,十个交易,然后 取完之后呢,然后会他会去解一道难题啊,把这个交易放在这个区块里面,然后再去解一道难题,这个解难题呢实际上就是求一个哈西,求一个这个 值的过程啊,求一个值的过程,那么他是其实呢就是要每举出来一个值,然后求出来这个值呢,满足一定的这个条件啊,满足一定的条件,那么这样呢这个区块呢就算 ok 了啊,就可以就就打包成功了,然后打包成功了之后呢,哎, 他就可以向其他的这个节点进行一个广播啊,当然这个打包的这个过程,或者说求解这个难题的这个过程呢,实际上就是挖矿啊,挖矿有兴趣的可以去查一下资料,可以去看一下啊, 那么他挖矿出来这个区块之后,然后呢会进行第四步,就是说把这个区块也会广播,对吧?广播给其他节点,那么其他节点收到这个区块之后呢?首先第一个就是做给 验证,对吧?哎,这个区块 o 不 ok 啊,对吧?当然他有一系列的这个操作,哎,怎么,怎么去验证?有一些有一系列的这个规则啊?去验证这个区块,呃,是否 ok, 对吧?是否是合法的区块,那么如果,如果合法的话,那么他就会把这个区块加到自己这个之前的这个链条的后边啊,你看这个,这个, 你看我这下面写了三个节点啊,三个节点,这个三个节点就是收到这个打包矿工打包的这个区块之后啊,会把这个区块加到自己这个链条的这个后边,每个每个节点都会这么做啊,那么前面的区块呢?也是之前的,就是说同样是这个过程啊,这样收到之后使用念在这个念头,链条的后边啊, 面条的后边,那么这个链条呢,实际上就是我们的什么实际上就是账本啊,实际上就是这个账本这个区块里面是记录的这个交易,对吧?区块里面记录的交易,那么每个区块呢?都指向前面一个区块啊,那么最终呢,这样子形成了一个区块了,一个链条啊,形成了一个区块的这样一个链条,那么呢这个呢就是 区块链,也是为什么哈?就是说这个区块链这个叫法的一个来源啊,区块链叫法来源,实际上就是说他们记录数据,或者说存放这个区 数据的一种形式,是通过这种区块的链条的这种形式啊存储起来的,所以说呢,这个就叫为什么叫区块链啊?也是这个原因。好,这个呢,基本上就是我们把这个整个这个 比特币他运行的一个过程啊,运行的这样一个过程呢?哎,给大家讲了一下,对吧?啊?但是比那个区块链系统啊,大部分区块链系统 基本上也是这样子,就是说基本上有,当然有的可能他没有这个挖矿的过程啊,当然他有打包成区块的过程啊,当然这个有大同小异啊,大同小异,但是我们只要把这个比特币的这个,呃 运行过程弄清楚了,基本上呢,其他的区块链系统呢?看一下。哎,基本上都都能弄清楚啊,都能弄清楚。好,这个呢就是我们这个比特币的一个运行的一个过程啊,运行的一个过程。
我想你已经了解了区块链的基础知识以及区块链如何工作。那么是时候实现我们的区块链核心引擎了,让我们开始吧。 第一步是下载最新版本的 note, 因我们将使用 note 创建我们的区块链,并使用 express 将区块链带到云上,确保下载最新版本的 node js。 您只需单击下载它,双击并安装它。这是一个简单的过程。安装 note 后,您可以随时通过输入 note 和版本号来检查它是否安装成功。您可以看到目前我安装了版本号。十六, 进入一个文件家中。在文件家内,我将运行命令 mpm in it。 此命令将当前文件家出使化为 no 的项目文件家。然后是一个安装向导,他会问包民是什么 版本号,描述,我们只要按 enter 使用默认设置。完成此操作后,如果您查看文件家的内容,您会发现他创建了一个名为 package gson 的文件。 现在我们准备启动 note 应用程序。我将使用 vs code 开发,你可以使用任何编辑器。在 vs code 中。打开后要做的第一件事就是更改主文件, 将其命名为 app js。 您可以将其称为 index js。 我有改成 app js 的习惯,因为我想使用 app js 作为跟文件即将要运行的文件。现在继续创建 app js 文件。 现在我们先了解如何在使用区块链时执行交易。我们需要实现的第一件事是创建一个事物类。我们创建一个 名为 transaction gs 的文件。 transaction to gs 将代表一个交易,它可以有一个 from 一个开始交易的人。 two 意思是交易的目的地和金额。我们继续创建一个名为 transaction 的类。先创建一个构造函数。 在构造函数中,您必须传入 from to 和数量。接下来将继续为 from 创建属性,并分配 from to 的属性。由于 transaction 类是独立的,我想在其他文件中使用它。只需要导出 transaction 类,它就可以在其他文件中使用。 所以这是我们要创建的第一个文件。在交易之后,下一个文件是为区块创建文件,这将代表区块链中的特定区块。我们创建一个名为 block js 的文件。我们将为区块 创建一个类。该类将在区块链中呈现一个特定的区块。在构造函数中,我们大家可以初始化不同的属性。第一个将是缩影,那是区块链中区块的缩影,它只是一个初始值为零的整数。接下来,我们将拥有 previous hash, 同样,我们将为其分配空字福串的初始值。然后,我们将得到这个特定快的哈西值。接下来,我们继续创建随机数,它是一个唯一的数字被添加已创建特定交易或特定快的哈西。 这个快将由交易组成,所以我们会有一系列交易。当我们谈论区块时,我们还需要确保我们能够向该区块添加交易。为此,我将继续创建一个函数 extra section。 您可以在其中传递事物, 该事物稍后会添加到我们之前创建的事物数组中。该交易可以用于将资金从特定账户转移到目的地。接下来,每个块都可以有一个特定的建密药将基于交易,所以 previous hash 和 nonse。 我们继续创建该密,要他作为 this transactions, this index, this, previous hash 和 nons 返回,所以所有这些东西结合在一起形成了一个特定的键。 事物是一个数组,我们需要将他们转换为自伏串。我们继续通过调用 string f 函数并传入事物来做到这一点。 现在我们有一个 k 函数,他实际上返回一个 key, 这个 key 基于事物,所以 previous hash 和 nonce。 为了在这一个文件之外使用这个 block clay, 我们再次使用 module export force 导出一个快,现在这个快可以在这个 block g s 文件之外的地方使用。我们要创建的下一件事是 block chain 嘞,所以让我们继续添加一个新文件,我们将其称为 block chain js。 我们将创建一个名为 blockchain 的类。在区块链的构造函数中,您将传入 genesis block。 genesis block 是区块链中的第一个区块。 these blocks 等于一个空数组,我们将在稍后使用它。 我们将接着使用 genesis block 出使化我们的快。就是这样,我们完成启动区块链的主要类的创建。接下来我们将为快生成秘要下个视频继续讲述,谢谢大家。
大家好,这里是圣男说区块,今天我们要讲解的是区块链中节点的类型。 在一个区块链网络中,一般来说会有三种主要的节点类型,就是清洁点、普通全节点和记账节点。我们仍旧是以 之前关于交易的生命周期的这样一个视力图为例,我们来看看到底什么样是清洁点,什么是全结点和什么是记账结点。 清洁点的话一般来说是用在移动电子设备,就是这种呃存储比较有限的这种设备中。清洁点的特点是他只下载了或者它里面只包含了区块链中的区块头的信息,而不 包含每个区块里面这个交易列表信息。因没有交易列表信息,所以说在清洁点是不知道一笔交易 是否在区块链中,也不知道一个账户的余额是多少的,他都是一定要通过整个区块链网络,然后去连接到其他的全景点, 然后从其他的奇迹全景点去查询到对应的信息,然后才能在这边做验证和进行对应的交易的创建。 好,这是我们的清洁点的情况。接下来我们再看看普通全节点,普通全节点的话,其实顾名思义就是它里面有完整的全账本的区块链的数据,在这里面就包括了从创世区块,也是说地 零号区块到最新的区块的所有的区块头和里面的交易列表,所有的数据都在这里面。 所以我们如果是一个基于全账本创建的一个钱包的话,那么用户要查询他的余额,或者是查询某笔历史交易是不是真的存在,只需要自在自己的本地的账本中进行查询就可以了,他不需要像 节点一样的再去反问其他的节点,向其他的节点询问交易信息和那个账本的一些数据 啊,所以我们大家可以看到用户逼的这个节点和这里的这个节点都是普通的全账本节点。接下来我们再来说一说记账节点。记账节点的话,他其实本身他也是一个全节点, 它里面也保存了完整的区块链的信息,但是和普通的权杖本节点不同的地方是在于它可以产生新的区块, 记账结点和不一定是一个,也可能是有很多很多个记账结点,在区块链网络中,他们相互之间形成一个竞争或者是合作记账的模式,不断的产生新的区块。因为我们在 以特币网络或者是以太坊网络中,我们经常把这个产生新区块,因为有奖励,所以说也把它叫做挖矿,所以说记账节点也叫做挖矿节点。 好,这就是记账节点的一个行为。除了前面介绍的这三种节点之外,其实针对不同的区块链网络,可能还会有其他的一些节点类型出来,比如说有专门负责进行陆游的陆游节点, 有专门负责进行合约执行的合约执行节点,这是根据具体的区块链的网络的类型,然后才进行进一步的划分的。但是最主要的区块链网络中的三种节点类型就是清洁点、全账本节点和记账节点。
普通人学习外普森最大障碍就是区块链的工作原理。其实这个原理并不复杂,今天咱们以大饼为例,花两分钟的时间帮你打消对技术的恐惧。 首先,大饼的目标是打造一个不可篡改的账本。它的基本思路相当简单,就是把一个账本复制 n 遍,然后放到网络中的 n 个节点上去保存。当 n 足够大的时候,任何人想要篡改全网所有节点上的信息,都是不可能完成的任务。 其次,大饼的突破性创新是解决了网络环境下的交易验证问题。假设网络上发生一笔交易,李雷给韩梅梅十个大饼, 这时李雷的钱包会向全网广播这笔交易。由于网络通信的原因,有些节点收到了信息,有些则没有。站在收到信息节点的视角上看,他们仅仅是听说李雷给了韩梅梅十个大饼。这笔交易是否真实发生并不清楚。 是收到消息的节点需要做两项验证印证一、确认消息是李雷发出的印证二、确认交易的内容是李雷给行 妹妹十个大饼。为了实现这两份交易节点,要求任何交易广播时,除了交易内容本身以外,还必须包含两个信息,一个是交易内容的米哈西值,另一个是付款人的功药。有了这两个信息节点,就能够验证消息是不是李雷发的,以及交易内容是不是给韩妹妹十个大饼。 为什么有文秘、哈西职和工药就能实现这样的验证呢?这个我们回头再说。这里的关键是要搞清楚需要验证的是什么,具体如何验证是个独立的模块,不影响整个工作原理的展开。 最后,大饼的快速普及,得益于他的有奖记账机制。一笔交易如果验证失败,将直接被丢弃。如果验证成功,则需要一个节点负责将这笔交易写入到账本中, 其他 n 减一个节点直接同步更新后的账本即可,这样保证了 n 个节点的信息完全一致。那么问题来了,有哪个节点负责记账呢?大饼的机制是这样所有完成验证的节点去解一道数学题,最先 解出这道题的负责记账,而且系统会给记账的节点五十个大笔作为奖励。这就是所谓的挖矿赚钱啊。在实际场景中,节点是验证多笔交易后才去解一次数学题。先解出答案的节点会将多笔交易一次性的写入账本。这些多笔交易的集合就是所谓的区块。 将多笔交易写入账本的过程,就是将新区块和老区块连接在一起的过程,最终形成了我们所谓的区块链大饼的目标。大饼的突破性创新,以及大饼得以快速普及的机制。你学会了吗?关注关蓝,讲你听得懂的外部餐。
我发现全网真的还有百分之九十九的人,无论怎么讲还是不明白什么是区块链,什么是比特币, 这次我决定换一个故事,一定要让大家秒懂。好,我们都知道两个网络节点之间,也就是两个网友之间可以直接发送文字视频,还有各种文件, 没错吧?但是有一个私欲求却是没法实现的,那就是假如我有十块钱,我并不能把钱直接通过网络发送给你。为什么会这样?因为互联网的世界里啊,刚刚说的发文字、发视频都是信息传输, 转账付款,这个属于价值转移。价值转移有个特点,他需要记账,比如我给你十块钱,我这边的账本里面需要先减少十 块钱,对方才能增加十块钱。所以过去互联网的世界里啊,我们都有一个第三方帮我们记账,比如银行、支付宝、微信支付,但是为什么他们可以承担这个记账的角色呢?因为我们所有人都觉得他可信,有权威。 但是我们有没有想过,万一哪天支付宝、微信支付出故障了,或者某个银行倒闭了,又或者某个地方支付宝和微信银行都没有覆盖,我们该怎么办?区块链就是为了解决这样的问题而诞生的。 那么有人会问,在区块链世界里,任意两个网友如果单独的进行线上转账,谁来负责记账?区块链的方法是啊,让所有的网络节点记账, 这就是区块链所谓的分布式账本,与其信任一个人,不如信任所有人。具体的方法有点偏技术,但是我觉得大家都可以听一听,在发起一笔交易的时候,像 全网发出一个带有谜团,也就是密码的一个区块,许多节点呢,争着去解这个谜。 解谜之后呢,会在全网发出信号,然后所有的节点同步这个信息,全部节点记账完成,这笔交易就完成了。那么第一个解出谜底的这个节点呢,他会获得奖励,也就是比特币的 早期的原型。在区块链的账本里面啊,所有的账目都是公开的,无法篡改的,而且都是同步的。区块 块链解决了全世界任何两个网络节点之间在价值转移当中的记账信任问题,这就是为什么区块链具有独特性的原因。 还有一个问题是,网络世界造出来的币为什么会有价值?这不是空气币吗?这里就有个有趣的故事了,当时比特币的发明者钟本聪啊,最开始把比特币和美元的汇率定为一枚 美元等于一千一百零九个比特币,这个数字很有意思,他是根据美国的电费算出来的, 当时他根据每挖一个币需要的平均电费来计算比特币的价值。那为什么现在比特币长得这么高的呢?这里有几个原因啊。首先比特币模拟的是黄金属性, 他为了防止通货膨胀,只设置了两千一百万个,挖完就没有了,因此具有一定的稀缺性。其次就是符合经济学的原理的一些东西了,比如一个物品为什么会有价值,无非就是大家信任,大家认可,大家有共识。 就像深圳的房子一样,他的成本价没多少钱,但是现在的价格已经很高了。当年发现黄金的时候,如果大家不认为他是一种货币,不信任他,他充其量也就是一种稀有金属罢了。 所以比特币你信他就是电子黄金,如果你不信他,他就是空气。但比特币无论走势是怎么样的,我坚信啊,区块链一定是未来具有划时代意义的技术。
区块链是什么?那我们先从一个小小的故事开始说句,今天李孔悦老师在制作视频课程, 当你看到我制作的这个视频的时候,你就要提出疑问,你孔悦老师的视频有没有被人修改过? 我看到的是不是李孔悦老师制作的视频的完整版,最真实的版? 我怎么证明我的视频就是原创,没有一个人篡改过一个标点符号呢?如果有人想诋毁我,而且这个人的 力量强大到可以动用国家的力量,他可以诬陷我李孔月制作的短视频侵犯了某某某某版权, 我拿不出证据来证明我是清白的,我是原创。那有人说你可以到公证处去公证呀, 如果这个人的能力强大到可以动用国家的机器,任何公正也是无效的。所以要自正自己的清白在国家的力量的面前比登天还难。 于是有一项技术出现了,这项技术叫曲宽面,二零零八年中本从体 现在我可以通过三步来证明我的视频就是我的原创。第一步,录制短视频。第二步, 通过电脑上的一个小程序开始制作电子识别码。 这个小程序以哈西函数为基础,构建了一个 哈吸值,这个哈吸值是不可篡改的,如果我的文章,我的视频被篡改了,一句话,以哈吸函数为基础深称的哈吸值不可能完全一样。第三步,我在比特币 区块链做一个小小的交易,而比特币的区块链有一万多个节点,所有的节点都记录啊,这个交易 证明我这个交易的真实性。任何人没办法改变交易节点上的信息,除非外星人 再强大的国家力量智能服役毁灭。区块链上的节点不能篡改其中的一个标点符号。 完成这三步,我就可以证明这个视频是我的原创。没有区块链的情况下,这几乎是不可能的。那什么是 区块链呢?我再做一个小小的比喻。区块链相当于一列长长的列车,每个车厢都装作一块信息,所以叫信息快。 每一个车厢都具有独立的计算能力,独立的保存信息的能力,这叫分布式记账, 去中心化,每一个车厢的记账的内容是完全一致的,没有任何人的力量可以篡改他。 什么叫去中心化?比如我们汇款要通过中介银行,他有中心,那么 区块面出现的是点对点的直接交易,把中介怎么样去掉了,这叫去中心化。那么去中心化背后我凭什么相信你呢? 区块链这样的不可创立性形成了共识,因为背后是用算化怎么样做基础的,而且所有的节点都有记录,没人能篡改这种信用,形成了共识。 呃,中介机构,比如公正处的共识机制是用国家的信用做背书,而国家的信用跟数学的算法的信用,谁更可信?所以区块链技术,或者说比特贝这样的数之货币 背后的三大底层逻辑,不可篡改性,节点的记账权。第二,去中心化,点对点的交易,去掉了中间的中介。 第三,背后形成的机制是全世界共识的,所以叫共识信用。
大家好,说个互联网冷门中的高界玩法,那么今天呢,我们就来说一下一些小山寨的收割过程。先从发币开始说,他们先是以以太房恋上发个一千亿证明他们的大佬身份, 不到五分钟就有了他们自己的代币了。光有币也不行啊,肯定得上交易所,目的呢是让别人也跟着他发财 上币安火币又太贵,于是他们就选择了不去中心化的交易所,添加了自己的代币之后啊,就可以去什么 qv、 智斗、快红,把能吹的都吹上了天,还整个像样的 官网和白皮书都是一键生成的模板,多的是内容那必须得全英文,老外在台再搞个 defi, 对代币回购、质押、奖励、分红,一整套流程下来啊, 这个时候开始有人入局了,光是这些肯定还是有人顾虑啊。为了让项目更真实, web 三点零这个概念必须得上搞个数字产品 app, 盲盒系统。甭管他是三点零还是五点零, 反正项目方说他是落地项目,他就是。或者是告诉你,他在他主页上线之前都是以手机挖矿,你挖到了币以后都是 usdt。 所有的这些操作啊,目的就是让别人知道,再不入局你就会错过暴富了。就这样 弄出来的东西,打了一整套组合权之后就把你给打蒙了,入局后的结果可想而知吧。类似的平台还有很多,比如资金盘区、快链,交易所挖矿等等,很多都是打着高收益的旗号,挥舞着最锋利的镰刀。所以时刻 要保持必要的清醒,不要天真的以为你就是那个唯一的天选之子,无论这个东西对你来说有多新鲜,深入了解它的底层逻辑,才能防止被收割。关注我,一个带你深挖互联网金融行业的内幕的频道。
比特币区块链节点的概念?大家好,欢迎来到教官论练频道,今天和大家聊聊比特币区块链节点的概念,喜欢的点赞评论加关注。 区块链技术解释工信部二零一八年中国区块链产业白皮书广义解释,利用快链式数据结构来验证和存储数据, 利用分布式节点共识算法来生成和更新数据,用密码学的方式来保证数据创书的访问和安全。 利用由自动化脚本代码组成的智能合约来变成合操作数据的一种全新的分布式基础架构与计算范式。简而言之,分布式数据存储、 点对点传输、共识机制、加密算法等计算机技术的新兴应用模式。区块链是一个生而自带信任和安全 等功能的超级平台。与现在互联网平台相比,区块链通过代码、算法和规则构建了一个几乎零成本的信用机构,在其系统里交易无需中心化的第三方,例如银行、证券等机构的背书节点。我们从比特币的节点来看, 每个比特币节点都是路由区块链数据库瓦矿钱包服务的功能集合,每个节点都参与全网络的路由功能,同时也可能包含其他功能,每个节点都参与验证并传播交易及区块信息, 发现并维持与对等节点的连接。节点功能第一个功能是钱包,这里的钱包指的是钱包软件,而非地址加撕药。本身钱包的功能包含收集钱包中的地址相关的 ucso, 以便统计出地址余额, 构建交易、发送、交易等等转账相关的功能第二个功能是用挖矿,挖矿节点会去收集交易,制作区块头,然后参与抛算利比拼,找到随机数生成区块,并获得出块奖励和手续费。第三个功能是保存完整区块链,区块链数据庞大, 所以并不是所有比特币节点都会下载完整的最新的区块链。第四个功能是陆游 稍后会看到所有类型的节点都会有这个功能,所有的节点又有义务帮助其他节点去验证和扩散交易, 去查找其他节点,去维持整个网络的连接。节点角色,一些节点保有一份完整的最新的区块链拷贝,这样的节点被称为全节点,全节点能够独立自主的教练所有交易,而不需节约 任何外部参照。全节点作用,保存完整账本和验证交易。全节点能够验证比特币网络中的交易,成为比特币网络的第二层防御,保障比特币网络安全。另外还有一些节点只保留了区块链的一部分, 他们通过一种名为简易支付验证 spb 的方式来完成交易验证,这样的节点被称为 spb 节点,又叫轻量级节点。矿池节点首先一种是矿池服务器, 很多比特币矿工会凑到一起组成矿池来一起挖矿,矿池会搭建专门的矿池服务器来跟比特币的 p 组 p 网络直接通信。保存了完整的区块链,挖矿节点就只需要跟服务器通信。另外一种是矿池,挖矿节点虽然也参与挖矿,但是这类节点上只拼命运算, 而不会去保存完整的区块链,这样就节约了存储成本。根矿池的这种服务器客户机架构类似钱包,也有类似的钱包服务器节点,可以让清节点通过特定的协议去更加高效地获取最新区块链数据。感谢收看!
好,这一期的视频教程来教大家开发一个 swap。 那么说到这个 swap, 大家应该都知道在 beyond 智能链上面比较火的一个去中心化交易所 pancake swap, 也就是我们通常说的薄饼, 那如何开发一个像薄饼一样的交易所?首先我们要了解的是薄饼这个交易所整体的运行的这样一个流程,包括他的自动做事商的这样一个机制 啊,还有就是他的这个开源出来的智能合约啊,这一些整个流程跟智能合约也有很大的关系。那么内部的流程了解完了之后呢,我们还要从项目的开发,项目的角度出发,来带大家看一下这 一个 swap 开发的具体流程。想要开发这样一个 swap, 首先要做的是这个 ui 设计, ui 设计完成之后呢,我们要将这个 ui 设计稿交给我们的前端开发啊,这两个步骤跟这个传统的项目都是一样的 啊,那么跟传统项目有区别的地方呢?就在于前端开发完成之后呢,我们要做这个数据方面的交互, 关于数据方面的教护,它可以分为 app 和 dapp, 那么 app 和 dapp 有什么区别呢?它们主要的区别就在于 dapp 可以直接与 合约交互,那么 app 呢?一般是从这个数据库,从这个直接与这个后段去进行交互,那么直接与后段交互的 app 呢?我们就叫做中心化 项目,那直接与合约来交互的 dapp 呢?我们就叫做去中心化的项目啊,他们俩本质的区别就在于数据存储的位置不同,那去中去中心化的项目呢?因为直接与合约交互, 那么合约呢,是直接把数据存储在区块链当中,所以叫去中心化的项目。那么中心化的项目呢,它是数据是存储在这个这个数据库当中啊,就是我们随时可以篡改这个数据,所以呢它叫做中心化的项目。 我们今天要开发的 swap 呢,毫无疑问啊,他是一个去中心化项目,因为他是直接与合约进行交互,没有后端啊,所以,嗯,我们先给大家看一下这个页面的效果。 好打开这个页面之后呢,我们能够正常的看到,呃,这个这个页面上的功能基本上跟薄饼是一模一样的功能啊,包括,呃这边也有这个添加流动性和带币之间的兑换, 呃,包括这个就是我们通常说的这个加池子和这个车池子这个功能,嗯,只是这个 ui 方面呢,可能有点不一样啊,如果说有需要的话,呃,在 你们拿到这个代码之后呢,可以根据自己的自己的要求去把这个 ui 方面,包括前端页面的这个排版布局,根据自己的要求呢去做一个调整 好。那么页面展示完了之后呢,我们再继续回到开发流程,开发流程图, 嗯,我们仔细的给大家介绍一下这个合约交互与后端交互的区别。那么使用合约交互呢,一般使用的是外部三点 g s 和这个 i 则点 g s, 呃,这两个库呢,主要是提供给加 boss scrape 的区域调用 啊,那么家外呢,也有他自己可以调用的库,他的库叫做外部三界,呃,有兴趣的话可以去搜索一下这个外部三界,那么在 app 中呢,与他通常是直接与这个后段进行交互, 那么在与后端交互的过程中呢,通常用的是这个夹碗和这个蚂蚁收口,呃,夹碗呢负责对数据的增三改差,那么蚂蚁收口呢,就是负责对数据的存储,呃,通常呢做这个传统项,做传统项目的朋友们应该 都呃很熟悉这个蚂蚁搜狗和家吧。还有一个问题呢,就是,呃,很多朋友问我说这个,呃,做这个传统的项目和做去中心化的项目,嗯,哪一个开发成本比较大一点, 那么这个是没有确切的哪个开发车们比较大,这个也是要试项目的具体情况,具体的需求。嗯,今天呢,我们主要是介绍这个 dapp 项目啊,所以这个后端,呃,这中心化项目我们就不做剥夺的介绍。 dapp 项目呢,主要用的是这个 yp 三 gs 和这个 idgs。 嗯,我们来具体的 具体的来看一下这两个进他们的官网,来看一下这两个 apa 他们之间有什么区别,以及如何去使用这两个 ap 啊。我们在这个搜索引擎上去搜索一下他的官网,外部三点 gs 的官网。 那么外部三点 gs 呢?它的主要的功能啊,就是一些模块的加载,包括基本信息的查询啊,基本信息的查询呢,他可以查询这个外部三的版本和查看这个外部三连接到的节点的版本,还有这个基本信息的获取,包括网络状态的查询。 呃,那这个外部三呢,同时也兼容了一些这个通用的工具方法,比方说这个,呃仪态单位的转换 啊,还有这个数据类型的转换啊,包括这个字节码的字符转换,还有这个区块啊,和账户之这些相关的查询啊,以及他还有跟这个 合约交互的功能啊,同时呢他也支持这个回调函数来监听合约的事件啊,通过这个这个这个类,这通过这个库的话,我们可以啊很方便的去跟我们的这个智能合约去进行交互。 那么接下来呢,我们再来看一下这个挨着点 gs, 那么这个挨着点 gs 他跟这个外部三点 gs 有什么区别呢?他其实他主要区别就在于挨着点 gs 呢 啊,他属于紧凑小小型,同时呢也包含了这个大量的测试案例。嗯,他对新手入门的这个入门入门开发这一块的话是相当的友好,因为他用起来比较简单直观,而且,嗯,这个这个库的话在这两年是还是比较流行 啊,一般基本上很多项目都在用这个库,那么这个埃德点 gs 呢,它是主要包含了这个四个模块啊,第一个是这个提供者模块,第二个呢是这个啊智能合约模块,第三个呢就是这个工具类,第四个呢就是这个钱包,嗯, 那么通过这四个四个库呢就可以轻松的实现啊,基本上涵盖所有啊你所需要的这些功能啊,所以说用起来呢也是比较简单,比较方便的。 呃,那么在这个项目中呢,呃,用的也是这个挨着点 gs, 包括,呃在我们啊开发项目以来呢,呃,其实一直用的基本上都是用的这个挨着点 gs, 所以呢我也建议,呃,如果说啊需要自 自己开发这个项目的话,嗯,还是用这个挨着点 gs 它比较方便一点啊,当然这可能也是个人习惯的问题, 那当然如果说想要自己去开发这样一个区中心化的项目的话,呃,那么肯定是,呃,不管是外部三点 gs 还是这个挨着点 gs 啊,肯定是要熟练掌握,那么其中一个啊,其实的话最好是两个都需要掌握 啊,因为这两个库是直接跟这个项目开发是有关系的。好,这两个库的话基本上就介绍的差不多了啊,包括 啊整个项目的这个流程啊,大家应该也都啊基本上啊有一个大概的这个印象啊,那么接下来呢啊,我们就回到这个 正题啊,还是来给大家去去看一下这个具体的这个实际的这个项目应用啊,那么接下来呢,我们把还是把这个代码先打开,呃, 有这个代码呢,可能啊,大家印象就比较更,更这个直观一点,嗯,好,我们把这个代码把这个代码打开之后给大家看一下 这个项目呢,也是用 no 的 gs 去做的一个项目啊,用 no 的 gs 做的项目呢,首先第一步还是要去安装一下这个依赖,就是运行一下我刚刚敲的这个命令啊,那么这里呢,我的依赖呢已经是安装好的 啊,那么安装好依赖之后呢,我们来启动一下这个项目,那等待这个等待项目打包 编译好了之后呢啊,就会看到这个前端的页面,好,我们现在看到这个前端页面已经显示出来,呃,那么进行到这一步呢,就要给大家介绍比较,呃,第二个比较重要的概念啊,就是这个合约部分 啊,首先我们知道这个项目它的功能是跟这个薄饼是一模一样的功能,那么呢实际上用的合约呢,也是一模一样的合约。呃,薄饼呢它主要是分为两个部分啊,第一个部分就是这个路由合约, 他是通过这个路由合约呢去找到这个工厂的合约。那那么我们可以从最近一笔交易点进来之后,我们看一下他的这个路由合约啊,然后,然后呢我们点进这个这个路由合约之后,路由合约里面去看一下他的路由合 里面又包含了哪些这个合约。好,现在我们这个点进去看一下。 好,我们进来这个路由合约之后呢,路由合约实际上它是起到的一个一个中间交换的一个作用。好,那我们先把这个这个路由合约先复制到我们这个项目中来,复制到我把这个这个变量把把它这个改掉。 那么在这期视频中呢,我们啊只是部署在这个主网上面啊,大家只要跟着我这个操作的步骤,把这几个文件文件中的合约地址 啊,改成我刚刚复制的这几个地址就可以了。主要就是一个这个路由地址和工厂地址啊,这两个合约地址把它改掉啊,那么一共是这个 三个文件,有三个文件这个地方需要修改。呃,那么我们再来找一下这个,那么我们再来找一下这个他的工厂合约啊,工厂里面工厂合约里面呢,还有一个这个哈西扣的,我们也要拿下来放到我们这个这个文件当中来, 我们可以看到工厂合约他其实主要功能就是这个创建这个交易队的功能,他创建交易队之后呢,再通过路由合约,好,我们现在把他的这个, 把他开源的代码中这个哈西扣的复制下来,还有他的合约地址直接放到这个我们项目中来。 那么我们改好了之后呢,可能这里 有一个文件要跟大家特别提醒一下,这个啊,这个哈西扣的这个文件,这个地址呢是放在这个这个包一个就是我们刚刚安装的依赖包下面啊,啊,就是这个按照我指示的这个这个路径找到这个文件,然后把它改掉就可以了, 那么在把这些合约地址都替换好了之后呢,这个项目可以就说是,呃,完全是属于你自己的项目了。 好,那么我们再回到这个页面啊,这个页面还有一个地方啊,我们先刷新一下, 那么在这个页面,在这个页面还有一个 地方就是这个代币的列表啊,有可能你自己也会发行一些代币,那么如何去添加到这个列表中呢啊?首先我们找到这个,这个在这个偷坑这个文件夹上面啊,有一个这个阶层文件, 那么这个阶层文件呢,它就是配置了刚刚列表中所显示的这些代比的信息。我们找到一个这个列表,我们先把它改一下啊,比方说改成这个我自己的这个代比, 那么第一个呢是代币名称,第二个呢是代币的符号,那么还有这个代币的地址,还有这个包括 你的这个图标的显示的地址。好,我们再来刷新一下啊,这里是爆了一个错误, 嗯,我们来看一下啊,可能是这个啊,这个配置文件,因为他需要根据这个合约去查询,根据合约去查询这个代币的名称,那么这个合约呢?实际上我是没有,这个实际上我应该是没有,没没有发行这个代币的,所以他这里是报了一个错误 啊,那么我们再回,再再回到这个,这个找一个有, 我们回到这个薄饼来找一个有真正图标的,这样这样一个带笔来把它添加进来。 好,我们把这个这个代表 币,我们把他的合约地址跟他的这个呆币的名称全部拿过来放到我们这个配置文件中, 我们来按照这个格式跟这个原本的格式以保持一致,然后把这个代币的名称,代币的符号添加好了之后呢?啊,等会我们再来刷新一下试试。 好,包括这个合约地址啊,都是,嗯,都是一样的,又要需要跟这个原格是要保持。
各位朋友大家好,我是逆狐一冲,欢迎来到我们 ras 语言学习的这个课堂,那么这节课呢,我们就教大家用 ras 写一个这个简单的这个区块链,那么这个代码项目哈,最终的一个结果呢,我们给大家运行一下啊,先运行一下,看一下最终的一个效果啊,那么这里呢是显示开始挖矿啊,这个 这个念开始挖矿啊,我们这里呢是让他挖两个区块啊,带上那个串数区块一起,一共是三个区块,然后挖完之后呢,我们最终是显示出来啊,这个挖矿的,这个挖一个区块的时间呢,我们设置成了十秒钟啊,这个里边设置了十秒钟, 那么具体的细节呢,我们到时候编程的时候啊,我们在大马里边给大家来讲解,那么最终你看啊,就是说我们挖了两个区块,然后呢最终把这个三个区块啊,带创世区块一起显示出来啊,这个是创世区块,你看这个这个地方写有创世区块啊,那么后面呢,我们是哎挖到第一 个区块,对吧?挖到第二个区块啊,我们把这个区块给显示出来啊,这个呢就是我们最终的程序最终的一个效果啊,那么在我们正式开始代码之前呢,我们得先给大家介绍一下啊,区块链的相关的一些知识啊,让大家有一个初步的了解,那么我们才能够啊理解我们整个这个代码为什么要这么写啊? 那么首先呢,说到这个区块链就不得不说一个啊,东西就是比特币啊,那么比特币呢,他是区块链的这个鼻祖,他实际上是两千零八年的时候啊,在网络当中有人发了一篇论文啊,这个人呢叫中本聪,当然其实到目前为止啊,其实也不知道这到底是一个人还是 一个团队啊,那么他发表的这篇论文呢,叫做比特困啊,就是说比特币一种点对点的电子现金系统啊,这个是他的一篇论文,在这个论文里边呢,他就对比特币整个的这个思想做了一个秒 描述啊,那么在零九年的时候呢,就发表了,就发布了,在网上哈发布了比特币的这个代码啊,那么我们经常说到的这个区块链和比特币他到底是一个什么样的关系呢?比特币他实际上是一种区块链系统, 但是呢,区块链呢系或者说区块链系统呢,并不一定就一定是比特币啊,当然呢,我们在网络当中很多介绍这个 区块链的相关的知识的时候,一般都只是说的比特币的这个原理,或者说比特币的这个相关的一些思想啊,因为比特币呢,为什么介绍区观念就必然介绍介绍到比特币呢?一个是 比特币呢,本身是区块链的比祖,另外一个呢,就是说比特币的他的思想很简单啊,相对说简单更容易理解啊,易于这个作为区块链学习的一个入门啊。那么比特币到底什么是比特币呢?其实比特币说白了他就是一个账本啊, 一个去中心化的共享的防篡改的分布式上门啊,注意了,这个地方我有一个修饰词,对吧?去中心化的共享的防篡改的分布式上门啊,那么呢,他实际上是这样子的,就是说这个 比特币啊,这个程序啊,或者说这个系统,每一个每一个人啊,或者每一个主体,我们都可以把它把这个程序下下来,然后放到自己的这个电脑上,或者说我们有服务器,或者,对吧?或者有一些其他设备我们放在这个上面。哎,那运行 运行的时候呢?实际上这每一个节点呢?我们运行的时候,我们比如说我们 pc 运行这个程序,对吧?我们就实际上就是就成了这个比特币网络当中的一个节点,那么 每一个节点呢,他都会保存一个这个账本,或者说保存一个区块的链条啊,那么这个账本里边哈,他就记录的这个记录的有一些交易的数据啊,记录有交易的数据,那么所有的这个节点 中都记录的这个账本,然后呢所有节点之间呢会同步哈,会同步这个账本的数据,保证 呢,就是说大家的这个账本尽量的达成一致啊,尽量达成一致,那么这样就有一个好处,比如说我记了我我的这个节点上记录了一个账本,对吧?啊?运行了比特币的程序,记录了比特币的账本,那么呢张三李四他们也运运行了这个比特币的节点,然后呢里边呢也有这个比特币的账本,那么如果是有一个人 啊,比如说有个黑客,然后控制了我的电脑,那修改了我的这个账本,那么呢其实是不受影响的啊,其实是没有,就是说对这个比特币系统是没有问题的啊,没有不不会造成什么大的影响,因为 张三和李四呢,他们也存的有这个账本,而且呢他们存的内容呢,是和我之前存的内容是一样的,就是说除非黑客把所有的节点啊,或者说把 啊,当然是在比特币里面,其实是要把二分之一的节点啊,百分之五十以上的节点你都控制了啊?都修改了,那么呢你的篡改啊,对这个交易的串改,对我这个账本的篡改才会生效啊,否则的话呢,你就说只控制少部分,那么这个我这个账本是安全的啊,或者说我这个系统都是安全的,那么这个呢,就是 比特币账本的一个基本的一个一个思想啊,当然呢,比特币的这个网络呢,他所有的这个节点呢,没有一个主持关系啊,比如说我今天登录一个节点,我明天把这个节点下线,对吧?啊?和张三李四他们登录节点,我们这个节点大家的权利都是平等的啊,都是平等的,没有什么一个主次的关系, 所以呢,他是一个啊,完全去中心化的,就说没有给中心的存在,这个网络当中没有一个中心的存在。然后呢再一个就是共享的,为什么是共享的呢?就是每一个节点上我都有这个账本,对吧?谁可以来去看这个账本,谁也 谁都可以同步这个账本啊,所以是共享的,那么防篡改呢?实际上我刚刚已经讲过了啊,就是说这个节点之间,对吧?在节点之间是互为一个备份啊,互为一个备份,所以说呢,黑客呢,他如果比如说只是篡改某一些节点的账本,那么是不管用的,对吧?啊?不管用的,那么这个就是 为什么说啊?比特币是一个去中心的共享的防窜改的分布式账本啊,而这个账本呢本身呢,它里面记录的东西是什么呢?其实就是交易,对吧?就是 a 给 b 转让多少多少个比特币, b 给 c 转让多少多少比特币,对吧?就这样一笔一笔一笔的交易啊。好, 那么这个呢是我们对这个区块链的一个介绍啊,其实主要呢是对这个比特币的做了一个简要的介绍,为什么介绍这个比特币呢?因为后边我们还有一个就是我们写的这个代码啊,啊,其实很多是参考了这个比特币的一个结构,或者说我们的区块链的这个 整个链条啊,包括区块的一些结构,其实是主要是针对比特币的啊,主要是比也一个是比特币呢,相对来说比较简单啊,比较容易理解啊。 那么这个呢是我们对这个啊区块链的一个简单的介绍,那么下面呢,我们就看一下这个比特币哈,这个我们就看一下这个比特币他整个的一个运行的过程啊,整个的一个运行的过程啊,那么我们就直接在 直接在这个里边啊,我们把这个全部放全,不需要用这个动画啊。好,那么 我们我们看到哈这个里边,你看第一步哈,第一步是用起发起用户啊,加发起交易,这个整个哈整个这个图是我们比特币运行的一个大概的一个过程啊,一个过程,那么首先呢是用户发起交易啊, 啊?什么意思啊?比如说我张三,对吧?我说张三,然后我现在比特币上面,比特币系统上面啊,或者说我电脑的这个比特币程序里面我发起了交易,我给李四转了三个比特币啊,我 在我的这个通过我电脑上的这个区块链程序,我发发起了这一笔交易,对吧?那么发起这笔交易之后,我这个电脑上的这个比特币程序就会把这笔交易 广播到网络当中啊,广播到网络当中,那么第二步呢,就是广播到网络当中,广播到网络当中之后,其他人运行的这个比特币节点,他就会输到这个交易,对吧?输到这个交易数据输 收到这个交易数据呢之后呢,他们呢也会继续广播啊,当然呢在广播之前他们会做一个验证啊,会做一个验证,根据自己的这个当前记录的这个账本来对这个交易做做一个验证。比如说张三要给李四转三个比特币,那么张三有没有三个比特币啊?对吧?有没有三个比特币啊?然后呢啊?这个 这几个比特币呢?是不是属于张三,张三的,对吧?那么就会做这样一些呃验证,对吧?做这个验证之后呢,然后会把交易继续广播啊,继续广播,那么在这个网络当中呢,有的节点呢,他是具有这个挖矿功能的啊,当然所有的全景点都是有挖矿功能的,只要你愿意,你甚至可以在你的这个笔记本电脑上面啊, 也也也那个进行挖矿,对吧?啊?进行挖矿,所以呢这个就是说所有的这个节点都是可以啊,就是说所有的这个节点地位都是均等的啊,好,那么 这个地方呢?我这个地方我们不去展开,如果有兴趣的可以去看一下京东比特币这本书啊。那么这个时候呢交易广播之后呢?然后就会,哎,有矿工节点也会收到这个交易,对吧?那么他会把交易呢放在自己的一个有一个叫交易池的东西,就是说一个池子啊,把这些收到的交易放在这个交易池里面,然后 然后呢他会做一个什么操作呢?他会对这个交易进行一个打包啊,进行一个打包,也就是挖矿,他首先呢把这个交易,比如从交易池里边取出,哎,十个交易啊,十个交易,然后 取完之后呢,然后会他会去解一道难题啊,把这个交易放在这个区块里面,然后再去解一道难题,这个解难题呢实际上就是求一个哈西,求一个这个 值的过程啊,求一个值的过程,那么他是其实呢就是要每举出来一个值,然后求出来这个值呢,满足一定的这个条件啊,满足一定的条件,那么这样呢这个区块呢就算 ok 了啊,就可以就就打包成功了,然后打包成功了之后呢,哎, 他就可以向其他的这个节点进行一个广播啊,当然这个打包的这个过程,或者说求解这个难题的这个过程呢,实际上就是挖矿啊,挖矿有兴趣的可以去查一下资料,可以去看一下啊, 那么他挖矿出来这个区块之后,然后呢会进行第四步,就是说把这个区块也会广播,对吧?广播给其他节点,那么其他节点收到这个区块之后呢?首先第一个就是做给 验证,对吧?哎,这个区块 o 不 ok 啊,对吧?当然他有一系列的这个操作,哎,怎么,怎么去验证?有一些有一系列的这个规则啊?去验证这个区块,呃,是否 ok, 对吧?是否是合法的区块,那么如果,如果合法的话,那么他就会把这个区块加到自己这个之前的这个链条的后边啊,你看这个,这个, 你看我这下面写了三个节点啊,三个节点,这个三个节点就是收到这个打包矿工打包的这个区块之后啊,会把这个区块加到自己这个链条的这个后边,每个每个节点都会这么做啊,那么前面的区块呢?也是之前的,就是说同样是这个过程啊,这样收到之后使用念在这个念头,链条的后边啊, 面条的后边,那么这个链条呢,实际上就是我们的什么实际上就是账本啊,实际上就是这个账本这个区块里面是记录的这个交易,对吧?区块里面记录的交易,那么每个区块呢?都指向前面一个区块啊,那么最终呢,这样子形成了一个区块了,一个链条啊,形成了一个区块的这样一个链条,那么呢这个呢就是 区块链,也是为什么哈?就是说这个区块链这个叫法的一个来源啊,区块链叫法来源,实际上就是说他们记录数据,或者说存放这个区 数据的一种形式,是通过这种区块的链条的这种形式啊存储起来的,所以说呢,这个就叫为什么叫区块链啊?也是这个原因。好,这个呢,基本上就是我们把这个整个这个 比特币他运行的一个过程啊,运行的这样一个过程呢?哎,给大家讲了一下,对吧?啊?但是比那个区块链系统啊,大部分区块链系统 基本上也是这样子,就是说基本上有,当然有的可能他没有这个挖矿的过程啊,当然他有打包成区块的过程啊,当然这个有大同小异啊,大同小异,但是我们只要把这个比特币的这个,呃 运行过程弄清楚了,基本上呢,其他的区块链系统呢?看一下。哎,基本上都都能弄清楚啊,都能弄清楚。好,这个呢就是我们这个比特币的一个运行的一个过程啊,运行的一个过程。
我想你已经了解了区块链的基础知识以及区块链如何工作。那么是时候实现我们的区块链核心引擎了,让我们开始吧。 第一步是下载最新版本的 note, 因我们将使用 note 创建我们的区块链,并使用 express 将区块链带到云上,确保下载最新版本的 node js。 您只需单击下载它,双击并安装它。这是一个简单的过程。安装 note 后,您可以随时通过输入 note 和版本号来检查它是否安装成功。您可以看到目前我安装了版本号。十六, 进入一个文件家中。在文件家内,我将运行命令 mpm in it。 此命令将当前文件家出使化为 no 的项目文件家。然后是一个安装向导,他会问包民是什么 版本号,描述,我们只要按 enter 使用默认设置。完成此操作后,如果您查看文件家的内容,您会发现他创建了一个名为 package gson 的文件。 现在我们准备启动 note 应用程序。我将使用 vs code 开发,你可以使用任何编辑器。在 vs code 中。打开后要做的第一件事就是更改主文件, 将其命名为 app js。 您可以将其称为 index js。 我有改成 app js 的习惯,因为我想使用 app js 作为跟文件即将要运行的文件。现在继续创建 app js 文件。 现在我们先了解如何在使用区块链时执行交易。我们需要实现的第一件事是创建一个事物类。我们创建一个 名为 transaction gs 的文件。 transaction to gs 将代表一个交易,它可以有一个 from 一个开始交易的人。 two 意思是交易的目的地和金额。我们继续创建一个名为 transaction 的类。先创建一个构造函数。 在构造函数中,您必须传入 from to 和数量。接下来将继续为 from 创建属性,并分配 from to 的属性。由于 transaction 类是独立的,我想在其他文件中使用它。只需要导出 transaction 类,它就可以在其他文件中使用。 所以这是我们要创建的第一个文件。在交易之后,下一个文件是为区块创建文件,这将代表区块链中的特定区块。我们创建一个名为 block js 的文件。我们将为区块 创建一个类。该类将在区块链中呈现一个特定的区块。在构造函数中,我们大家可以初始化不同的属性。第一个将是缩影,那是区块链中区块的缩影,它只是一个初始值为零的整数。接下来,我们将拥有 previous hash, 同样,我们将为其分配空字福串的初始值。然后,我们将得到这个特定快的哈西值。接下来,我们继续创建随机数,它是一个唯一的数字被添加已创建特定交易或特定快的哈西。 这个快将由交易组成,所以我们会有一系列交易。当我们谈论区块时,我们还需要确保我们能够向该区块添加交易。为此,我将继续创建一个函数 extra section。 您可以在其中传递事物, 该事物稍后会添加到我们之前创建的事物数组中。该交易可以用于将资金从特定账户转移到目的地。接下来,每个块都可以有一个特定的建密药将基于交易,所以 previous hash 和 nonse。 我们继续创建该密,要他作为 this transactions, this index, this, previous hash 和 nons 返回,所以所有这些东西结合在一起形成了一个特定的键。 事物是一个数组,我们需要将他们转换为自伏串。我们继续通过调用 string f 函数并传入事物来做到这一点。 现在我们有一个 k 函数,他实际上返回一个 key, 这个 key 基于事物,所以 previous hash 和 nonce。 为了在这一个文件之外使用这个 block clay, 我们再次使用 module export force 导出一个快,现在这个快可以在这个 block g s 文件之外的地方使用。我们要创建的下一件事是 block chain 嘞,所以让我们继续添加一个新文件,我们将其称为 block chain js。 我们将创建一个名为 blockchain 的类。在区块链的构造函数中,您将传入 genesis block。 genesis block 是区块链中的第一个区块。 these blocks 等于一个空数组,我们将在稍后使用它。 我们将接着使用 genesis block 出使化我们的快。就是这样,我们完成启动区块链的主要类的创建。接下来我们将为快生成秘要下个视频继续讲述,谢谢大家。