跳至主要内容

产品随想 | 读《精通以太坊——实现数字合约》 Mastering Ethereum


快速术语表

  • 断言 Assert
    在 Solidity 中,assert(false) 编译为 0xfe, 是一个无效的操作码,用尽所有剩余的燃气(Gas),并恢复所有更改。 当 assert() 语句失败时,说明发生了严重的错误或异常,你必须修复你的代码。 你应该使用 assert 来避免永远不应该发生的条件。

  • 去中心化应用 DApp
    去中心化应用 Decentralised Application. 狭义上,它至少是智能合约和 web 用户界面。更广泛地说,DApp 是一个基于开放式,分散式,点对点基础架构服务的 Web 应用程序。另外,许多 DApp 包括去中心化存储和/或消息协议和平台。

  • 以太坊虚拟机 EVM
    Ethereum Virtual Machine, 基于栈的,执行字节码的虚拟机。在以太坊中,执行模型指定了系统状态如何在给定一系列字节码指令和少量环境数据的情况下发生改变。 这是通过虚拟状态机的正式模型指定的。

  • 燃气 Gas
    以太坊用于执行智能合约的虚拟燃料。以太坊虚拟机使用会计机制来衡量天然气的消耗量并限制计算资源的消耗。参见“图灵完备”。 燃气是执行智能合约的每条指令产生的计算单位。燃气与以太加密货币挂钩。燃气类似于蜂窝网络上的通话时间。因此,以法定货币进行交易的价格是 gas (ETH /gas)(法定货币/ETH)。

  • Gavin Wood
    Gavin Wood 是英国的程序员,以太坊的联合创始人和前 CTO。在2014年8月他提出了Solidity,用于编写智能合约的面向合约的编程语言。

  • 图灵完备 Turing Complete
    在计算理论中,如果数据操纵规则(如计算机的指令集,程序设计语言或细胞自动机)可用于模拟任何图灵机,则它被称为图灵完备或计算上通用的。这个概念是以英国数学家和计算机科学家阿兰图灵命名的。

第一章 什么是以太坊

  • 从计算机科学的角度来说,以太坊是一种确定性但实际上无界的状态机,它有两个基本功能,第一个是全局可访问的单例状态,第二个是对状态进行更改的虚拟机。

  • 与具有非常有限的脚本语言的比特币不同,以太坊被设计成一个通用可编程区块链,运行一个_虚拟机_,能够执行任意和无限复杂的代码。比特币的脚本语言故意被限制为简单的真/假消费条件判断,以太坊的语言是_图灵完备的_,这意味着它相当于一台通用计算机,可以运行理论图灵机可以运行的任何计算。

  • 一些参考文献
    以太坊黄皮书: https://ethereum.github.io/yellowpaper/paper.pdf
    褐皮书”:为更广泛的读者以不太正式的语言重写了“黄皮书”: https://github.com/chronaeon/beigepaper
    ÐΞVp2p 网络协议: https://github.com/ethereum/wiki/wiki/ÐΞVp2p-Wire-Protocol
    以太坊状态机 —— 一个“Awesome”资源列表 https://github.com/ethereum/wiki/wiki/Ethereum-Virtual-Machine-(EVM)-Awesome-List
    LevelDB 数据库 (最经常用于存储区块链本地副本): http://leveldb.org
    Merkle Patricia Trees: https://github.com/ethereum/wiki/wiki/Patricia-Tree
    Ethash 工作量证明共识算法: https://github.com/ethereum/wiki/wiki/Ethash
    Casper 权益证明 v1 实现指南: https://github.com/ethereum/research/wiki/Casper-Version-1-Implementation-Guide
    Go-Ethereum (Geth) 客户端: https://geth.ethereum.org/
    Parity 以太坊客户端: https://parity.io/

  • 以太坊的突破性创新是将存储程序计算机的通用计算架构与去中心化区块链相结合,从而创建分布式单状态(单例)世界计算机。以太坊程序“到处”运行,但却产生了共识规则所保证的共同(共识)状态。

  • 在世界计算机中,滥用资源的程序会滥用世界资源。如果以太坊无法预测资源使用情况,以太坊如何限制智能合约使用的资源?
    为了应对这一挑战,以太坊引入了称为 燃气 _gas_的计量机制。随着EVM执行智能合约,它会仔细考虑每条指令(计算,数据访问等)。每条指令都有一个以燃气为单位的预定成本。当交易触发智能合约的执行时,它必须包含一定量的燃气,用以设定运行智能合约可消耗的计算上限。
    ——需要Gas机制的原因

第2章 以太坊基础

  • 事实上,加密货币功能是服务于以太坊作为世界计算机的功能; 一个去中心化的智能合约平台。以太旨在用于支付运行的 smart contracts,这是在称为_Ethereum虚拟机(EVM)_的模拟计算机上运行的计算机程序。
    ——讲的有点绕

  • EVM是一个全球性的单例,这意味着它的运作方式就好像它是一个全球性的单实例计算机,无处不在。以太坊网络上的每个节点运行EVM的本地副本以验证合约执行,而以太坊区块链记录此世界计算机在处理交易和智能合约时变化的 状态。

  • 我们在MetaMask钱包中创建的账户类型称为 Externally Owned Account(EOA) 。外部所有账户是那些拥有私人密钥的账户,它控制对资金或合约的访问。现在,你可能猜测还有另一种帐户,_合约_帐户。合约账户由以太坊区块链记录,由EVM执行的软件程序的逻辑所拥有(和控制)。

第3章 以太坊客户端

  • 流行的移动钱包包括Jaxx,Status和Trust Wallet。我们列举这些作为流行手机钱包的例子(不是对这些钱包的安全或功能的认可)。

第4章 以太坊测试网(Testnets)

  • 测试网络(简称testnet)用于模拟以太网主网的行为。有一些公开的测试网络可以替代以太坊区块链。这些网络上的货币毫无价值,但它们仍然很有用,因为合约和协议变更的功能可以在不中断以太网主网或使用真实货币的情况下进行测试。

  • Proof-of-Authority 是一种协议,它只将造币的负载分配给授权和可信的签名者,他们可以根据自己的判断并随时以发币频率分发新的区块。

第5章 密钥,地址

  • 这些类型的密码学证明是以太坊和大多数区块链系统的关键数学工具,广泛用于以太坊应用。讽刺的是,加密并不是以太坊的重要组成部分,因为它的通信和交易数据没有加密,也不需要加密以保护系统。
    ——着实讽刺

第6章 钱包

  • 在较高层次上,钱包是作为主要用户界面的应用程序。钱包控制对用户资金的访问,管理密钥和地址,追踪余额以及创建和签署交易。另外,一些以太坊钱包还可以与合约(如代币)进行交互。

  • 狭义上讲,从程序员的角度来看,“钱包”一词是指用于存储和管理用户密钥的系统。每个“钱包”都有一个密钥管理组件。对于一些钱包来说,这就是全部。其他一些钱包是更广泛类别的一部分,即“浏览器”,它是以太坊去中心化应用或“DApps”的接口。在“钱包”这个术语下混合的各种类别之间没有明确的区别。

  • 关于以太坊的一个常见误解是以太坊钱包包含ether或代币。实际上,钱包只包含密钥。ether或其他代币记录在以太坊区块链中。用户通过使用钱包中的密钥签署交易来控制网络上的代币。从某种意义上说,以太坊钱包是一个 钥匙串 keychain

第7章 交易

  • 看待交易的另一种方式是,它们是唯一可触发状态更改或导致合约在EVM中执行的东西。以太坊是一个全球的单实例状态机器,交易是唯一可以让状态机“运动”,改变状态的东西。合约不会自行运行。以太坊不会在后台运行。一切都始于交易。

第8章 智能合约

  • 以太坊有两种不同类型的账户:外部所有账户(EOAs)和合约账户。EOAs由以太坊以外的软件(如钱包应用程序)控制。合约帐户由在以太坊虚拟机(EVM)内运行的软件控制。两种类型的帐户都通过以太坊地址标识。在本节中,我们将讨论第二种类型,合约账户和控制它们的软件:智能合约。

  • 计算机程序:智能合约只是计算机程序。合约这个词在这方面没有法律意义。 不可变的:一旦部署,智能合约的代码不能改变。与传统软件不同,修改智能合约的唯一方法是部署新实例。 确定性的:智能合约的结果对于运行它的每个人来说都是一样的,包括调用它们的交易的上下文,以及执行时以太坊区块链的状态。 EVM上下文:智能合约以非常有限的执行上下文运行。他们可以访问自己的状态,调用它们的交易的上下文以及有关最新块的一些信息。 去中心化的世界计算机:EVM在每个以太坊节点上作为本地实例运行,但由于EVM的所有实例都在相同的初始状态下运行并产生相同的最终状态,因此整个系统作为单台世界计算机运行。

  • 重要的是,如果合约只有被交易调用时才会运行。以太坊的所有智能合约均由EOA发起的交易执行。合约可以调用另一个合约,其中又可以调用另一个合约,等等。但是这种执行链中的第一个合约必须始终由EOA的交易调用。合约永远不会“自行”运行,或“在后台运行”。在交易触发执行,直接或间接地作为合约调用链的一部分之前,合约在区块链上实际上是“休眠”的。

  • 合约的代码不能更改。然而合约可以被“删除”,从区块链上删除代码和它的内部状态(变量)。要删除合约,你需要执行称为 SELFDESTRUCT(以前称为 SUICIDE )的EVM操作码,该操作码将区块链中的合约移除。该操作花费“负的gas”,从而激励储存状态的释放。以这种方式删除合约不会删除合约的交易历史(过去),因为区块链本身是不可变的。但它确实会从所有未来的区块中移除合约状态。

  • 智能合约给程序员带来了很大的负担:错误会花费金钱。因此,编写不会产生意想不到的影响的智能合约至关重要。要做到这一点,你必须能够清楚地推断程序的预期行为。因此,声明式语言在智能合约中比在通用软件中扮演更重要的角色。不过,正如你将在下面看到的那样,最丰富的智能合约语言是命令式的(Solidity)。

第9章 开发工具,框架和库

第10章 Tokens

  • 单词_Token_来源于古英语“tacen”,意思是符号或符号。常用来表示私人发行的类似硬币的物品,价值不大,例如交通Token,洗衣Token,游乐场Token。

第11章 去中心化应用 (DApps)

  • 智能合约用于存储去中心化应用程序的业务逻辑,状态和计算; 将智能合约视为常规应用程序中的服务器端组件。

  • 在以太坊智能合约上部署服务器端逻辑的一个优点是,你可以构建一个更复杂的架构,智能合约可以在其中相互读取和写入数据。部署智能合约后,未来许多其他开发人员都可以使用你的业务逻辑,而无需你管理和维护代码。

  • 由于gas成本高,智能合约目前不适合存储大量数据。因此,大多数DApps将利用去中心化存储(如IPFS或Swarm)来存储和分发大型静态资产,如图像,视频和客户端应用程序(HTML,CSS,JavaScript)。

第12章 Oracles

  • 许多区块链应用程序需要访问外部信息。这就是oracles发挥作用的地方。可以将Oracles定义为离线数据的权威来源,允许智能合约使用外部信息接收和条件执行 - 它们可以被视为弥合链上链下之间鸿沟的机制。允许智能合约根据实际事件和数据强制执行合约关系,大大扩展了其范围。可能由oracles提供的数据示例包括:
    来自物理来源的随机数/熵(例如量子/热现象):公平地选择彩票智能合约中的赢家
    与自然灾害相关的参数触发器:触发巨灾债券智能合约(对于飓风债券来说的风速)
    汇率数据:将稳定币与法定货币准确挂钩
    资本市场数据:代币化资产/证券的定价篮子
    基准参考数据:将利率纳入智能金融衍生品
    静态/伪静态数据:安全标识符,国家/地区代码,货币代码
    时间和间隔数据:事件触发器以精确的SI时间测量为基础
    天气数据:基于天气预报的保险费计算
    政治事件:预测市场决议
    体育赛事:预测市场决议和幻想体育合约
    地理位置数据:供应链跟踪
    损害赔偿:保险合约
    其他区块链上发生的事件:互操作函数
    交易天然气价格:gas价格oracles
    航班延误:保险合约

第13章 gas(Gas)

  • Gas是以太坊用于衡量程序执行一个或一组动作所需计算量的单位。交易或合约执行的每项操作都需要一定数量的gas; 所需的gas数量与正在执行的计算步骤的类型和数量有关。与仅以千字节(kB)计算交易规模的比特币交易费相比,以太坊交易费必须考虑智能合约代码可以执行的任意数量的计算步骤。程序执行的操作数越多,运行完成的成本就越高。

  • 虽然gas有价格,但它不能“拥有”也不能“花”。gas仅存在于以太坊虚拟机(EVM)内部,作为计算工作量的计数。发起方被收取ether交易费,然后转换为gas,然后转回到ether,作为矿工的块奖励。这些转换步骤用于将计算的价格(与“工作量”相关)与ether的价格(与市场波动相关)分开。

第14章 以太坊虚拟机

  • 实际处理内部状态和计算的协议部分称为以太坊虚拟机(EVM)。从实际角度来看,EVM可以被认为是包含数百万个对象的大型去中心化计算机。

第15章 共识

  • 共识度量是可测量的数据,区块链网络的节点必须在该数据上达成一致,以便为每个块中包含的数据创建并保持一致。在区块链技术中,每次将新块添加到链中时,每个网络节点都会测量并批准一致性度量。作为共识度量的结果,区块链充当了从一个确定可验证的事实延伸到下一个事实的真理链。由于共识度量,区块链协议的节点变为 迷你公证人 mini-notaries,能够从真实的节点中立即分辨出区块链的错误副本,并将该事实报告给整个网络。这些措施是必需的,以便阻止通过提交包含虚假信息的区块来欺骗网络不良行为者。由于一致性度量,区块链不仅创建了的完整性,而且长期保持不变。共识度量有多种形式,但对于此讨论而言,最重要的两种是基于风险的度量和基于工作量的度量。

  • 授权证明(PoA)是PoS一致性算法的子集,主要由测试网和私有或联盟网络使用。在基于PoA的区块链中,交易有效性最终由一组经批准的链上账户确定,称为“授权节点”。确定授权节点的标准是通过网络治理结构中编写的方法确定性地决定的。

第16章 Vyper: 面向合约的编程语言

第17章 节点间的通信 —— 一个简单的视角

第18章 Appendix A: 以太坊标准

第19章 以太坊分叉历史

Popular posts from 产品随想的博客

91%犀牛人都不知道的高效率建模方法

原文地址 91%犀牛人不知道的建模技巧 习惯了su的建模思路,用rhino做方方正正的建筑如何提高效率? (原问题链接https://www.zhihu.com/question/35303800#draft) 91%犀牛人都不知道的高效率建模方法(三) KD、Holt 首先呢,继续安利一下咱们的群 前两期我们说完了 rhino的选项设置,图层操作习惯,rhino的材质设置,rhino和cad的协同,rhino自身的协同,以及rhino的剖面绘制 ,基本上是把除建模以外的前期准备工作都过了一遍,那么这期我们将正式进入实打实的建模相关的部分,不过需要注明的是,有些地方rhino确实没有su快,我们能做的就是尽可能的提高大家的效率,相信我,su能带给你的只有快速推拉方盒子,而rhino可以让你无所不能~~可能中国人懒惯了,用惯了su的那么几个命令看到rhino成百上千的命令会不由得倒吸一口冷气然后默默的转身离开,其实你学习rhino为你省下的时间比你在su中浪费的时间要多得多得多。 —————————— 实体工具 —————————— 关于rhino建方盒子,先放结论, 核心命令都在实体工具栏, 核心思想就是组合,布尔 。 你别指望rhino像su一样啪画一笔面就自动分割了,也别指望随便选中物体的哪个面就可以挤出了,也别指望成个组件之后就可以直接墙体开洞了,rhino是rhino,既然你选择了它,就得按照它的规矩来,也得容忍他在这方面的不足,况且要是这方面都秒了su,那咱们使用su的理由就真的只有显示模式好看了。 言归正传,首先我们都知道建筑模型当中,尤其是规则建筑,重复构建是非常多的,比如梁,柱墙,门窗等等,在这方面,其实rhino是有优势的,毕竟有gh在,大批量的操作做起来就异常简单了,先来看命令吧,rhino在方盒子的建模上常用的命令基本就是下面这些了。 其实这些命令的介绍我们在rhino小教室里提过,这里我们就单独结合实例再来摆活一遍吧。先说 墙体 吧. 一般我们墙体建模也就三种情况, 一种是我们有画好的天正双线墙体。 这种情况是最好办的了,直接挤出就哦了。 难就难在这双线很多时候得我们自己去描一遍,因为很多时候我们的c...

ISSUU使用指南--木喵

作者: 木喵   出处: Wonderworks 问:issuu是什么? 答:Issuu是国外的一个在线文档共享网站,它是你的PDF文档发布专家。它类似于我们熟悉的youtube,但它共享的是文档、杂志之类的文本。 简而言之、同志们想看国外的各种杂志? 想找国外的汇报文本么? 想借鉴国外学生的作品集么? 那么你就要用到它啦~ 今天主要和大家讲两个方面 一、如何在pc端使用和下载issuu上的pdf文档 首先我们打开issuu的网址 https://issuu.com/ 我们可以很清楚的看到网页上呢都是国外的杂志以及一些作者自己制作的pdf文档 首先我们点击右上角的 sign up  然后填写相关信息注册一个账户: 注册完成之后我们就可以搜索我们想要找的资料: 比如说,我想找一些分析图的资料,我们就搜索: architecture diagram 然后我们就可以看到相关的文档了: 点击你所选择的文档, 好了问题来了: sorry,this publication is not available 这个时候!就需要在用pc端的我们做一件必不可少的事: 翻墙 然后我们就能将页面刷新粗来了 好、接下来是非常有建设性意义的一步 怎样把我们网页上的文件 下载下来 呢? 截图? no~no~no~ 接下来,让木喵告诉你怎么下载: 首先你需要复制上面的网址 然后将 https://wenfan.hk/issuu/index_link.php 在另一个网址中打开 将你之前复制的pdf的网址粘贴在下面的对话框中 点击 I‘m not a robot 再点击 get it 然后会出现一堆网址代码 我们 全选 打开你的迅雷点击 新建 将你之前的复制粘贴到下载链接里 然后呢~我们就全都下载成功啦~ 然后我们回到之前的网页向下看 我们可以看到有上传文档的作者(记得要关注哟) 然后还有 info   share   stack   ❤ 如果...

产品随想 | 陪读《乔布斯传》:1-17章

乔布斯经典照片集 坐在麗莎電腦旁。他說:「毕加索曾說:「好的藝術家懂得模仿,佛大的藝術家善於偷取。」因此,窃取偉大的點子沒有什麼好羞耻的。 與蓋茲在電話中達成協議:「比爾,謝謝你支持蘋果。因為你的支持,世界將變得更美好。」 1997年蘋果在波士頓舉行的麥金塔世界大會,蓋茲透過衛星連線在巨大的螢幕上出現。質伯斯說:「我真是笨死了,竟然讓蓋兹以這種方式現身。他讓我看起來好沙小。」 ──时刻自省 前言 The people who are crazy enough to think they can change the world are the ones who do. 只有那些瘋狂到以為自己可以改變世界的人, 才能改變這個世界。 這麼些年來,賈伯斯說起話來的認真與專注態度,著實打動不少人。我們一直保持連絡,即使在他被逐出蘋果之後,我們還有來往。每次他有新產品要推出時,像 NeXT 電腦或皮克斯 (Pixar)的電影,他就會來找我。他常帶我去曼哈頓下城一家壽司店用餐,講起他的產品,渾身散發出光和熱,眉飛色舞的說這是他登峰造極之作。我喜歡這個人。 ──对自己产品深深的爱 他的堅持教我疑惑。人人都知道賈伯斯不道餘力捍衛隱私, 而且我不知道他是否看過我寫的任何一本傳記。我還是不敢立刻答應,只說或許再等等。然而到了 2009年,我接到他太太蘿琳. 鮑威爾打來的電話。她直截了當說:「如果你還想為史帝夫寫傳,最好趕快動筆。」這是他第二次因病向公司請長假。我坦言他早在2004 年得知自己罹患胰臟癌的時候就曾主動邀我寫傳,但我當時對他罹癌的事一無所知。蘿琳解釋說,他們盡量保密,因此當時根本沒幾個人知道。他是在動手術的前夕打電話給我的。 ──和Make Something Wonderful对照起来看 他還說,自從他回到蘋果重新掌權,這十二年來是他創造新產品的高峰期,但他還有更重要的目標,也就是效法惠普的惠立和普克(David Packard),締造一家創新動力無限的公司,進而超越惠普。 ──苹果公司才是乔布斯最得意的产品 他說:「我一直認為,自己是個偏向人文的孩子,但我也喜歡電子的東西。後來,我讀到寶麗來(Polaroid)創辦人蘭德 (Edwin Land)曾說過,一個人能站在人文和科學的交會口,兼容贯通,才是真正的人才。在那當下,我决定要當這樣的人。」他似乎在暗示我,這可以做為傳...

《爱因斯坦:我的世界观》

   我们这些总有一死的人,命运是多么的奇特! 我们每个人在这个世界上都只作一个短暂的逗留;目的何在,却无从知道,尽管有时自以为对此若有所感。 但是,不必深思,只要从日常生活中就可以明白:人是为别人而生存的──首先是为那样一些人,我们的幸福全部依赖于他们的喜悦和健康;其次是为许多我们所不认识的人,他们的命运通过同情的纽带同我们密切结合在一起。我每天上百次的提醒自己:我的精神生活和物质生活都是以别人(包括生者和死者)的劳动为基础的,我必须尽力以同样的分量来报偿我所领受了的和至今还在领受着的东西。我强烈地向往着俭朴的生活。并且时常发觉自己占用了同胞的过多劳动而难以忍受。我认为阶级的区分是不合理的,它最后所凭借的是以暴力为根据。我也相信,简单淳朴的生活,无论在身体上还是在精神上,对每个人都是有益的。    我完全不相信人类会有那种在哲学意义上的自由。每个人的行为不仅受着外界的强制,而且要适应内在的必然。 叔本华说:“ 人虽然能够做他所想做的,但不能要他所想要的。 ”这句格言从我青年时代起就给了我真正的启示;在我自己和别人的生活面临困难的时候,它总是使我们得到安慰,并且是宽容的持续不断的源泉。这种体会可以宽大为怀地减轻那种容易使人气馁的责任感,也可以防止我们过于严肃地对待自己和别人;它导致一种特别给幽默以应有地位的人生观。   要追究一个人自己或一切生物生存的意义或目的,从客观的角度来看,我总觉得是愚蠢可笑的。 可是每个人都有一些理想,这些理想决定着他的努力和判断的方向。就在这个意义上,我从来不把安逸和享乐看作生活目的本身──我把这种伦理基础叫做“猪栏的理想”。 照亮我的道路,是善、美和真。要是没有志同道合者之间的亲切感情,要不是全神贯注于客观世界──那个在艺术和科学工作领域里永远达不到的对象,那么在我看来,生活就会是空虚的。我总觉得,人们所努力追求的庸俗目标──财产、虚荣、奢侈的生活──都是可鄙的。   我有强烈的社会正义感和社会责任感,但我又明显地缺乏与别人和社会直接接触的要求,这两者总是形成古怪的对照。我实在是一个“孤独的旅客”,我未曾全心全意地属于我的国家、我的家庭、我的朋友,甚至我最为接近的亲人;在所有这些关系面前,我总是感觉到有一定距离而且需要保持孤独──而这种感受正与年俱增。人们会清楚地发觉,同别人的相互了解和协调一致是有限度的,但这不值得...

关于ftp编码的学习笔记

Linux服务器vsftpd配置编码为GB2312,资源管理器public帐号显示正常,但是管理员帐号显示有误,乱码,原因没有探索出来 Filezilla设置不同编码方式设置目录或文件会造成乱码问题 解决方法: 管理帐号设置相同编码方式命名文件,关于上传文件可单独设置查看的帐号,但不可用来上传,否则问题很大 public帐号端口设置好情况

产品随想 | 周刊 第43期:历史上的今天

Products Huberman Lab   https://hubermanlab.com/ 一款聚焦于健康的播客 今日热榜   https://tophub.today/ 聚合展示,国内各热门榜单,对跟进热点非常有帮助,热点运营的好帮手 SketchyBar   https://github.com/FelixKratz/SketchyBar A highly customizable macOS status bar replacement Mac菜单栏定制 自定义程度很高,看作者展示的案例,暂时没想出这样的好处(不过应用本身的编辑,确实也没啥意义)生命在于折腾吧! Thanks-Mirror   https://github.com/eryajf/Thanks-Mirror 整理记录各个包管理器,系统镜像,以及常用软件的好用镜像,Thanks Mirror。 Musicn   https://github.com/zonemeen/musicn 一个下载高品质音乐的命令行工具,音乐来源: 咪咕 Planet Minecraft A creative Minecraft community fansite sharing maps, minecraft skins, resource packs, servers, mods, and more. 里面有很多动人的故事 可能是世界上最大的Minecraft社区,从2010年至今 The Uncensored Library   https://www.uncensoredlibrary.com/en blockworks   https://www.blockworks.uk/ "Distinctive maps for Minecraft that have educated players and risen to the level of art" 游戏也可以让人有更高的实现,而不仅仅是沉迷其中,国外游戏厂商比我们做的好太多 Minecraft_Memory_Bypass_GUI   https://github.com/xingchuanzhen/Minecraft_Memory_Bypass_GUI 绕过Minecraft...

Markdown学习笔记

学习帖来自简书,这是我的笔记, 献给作者的Markdown新手指南 # 一级标题    #数量决定标题层级 - 文本    列表格式

MarkdownPad 2 Pro

有点讨厌Office套件的臃肿,有时候仅仅是记录一个小想法,尽管自己机器很强劲,但打开的延迟还是会让自己觉得很不舒服,于是乎,投到Markdown坑里,正在尝试三款Markdown编辑器

初识协议

TCP 面向有连接,能够处理丢包,顺序乱掉+带宽利用与拥堵,因为某些环境至少7次收发,网络资源浪费,而TCP定义各种复杂规范,因此不利于视频会议(音频,视频的数据量既定)等场合使用  UDP 面向无连接,不关注是否收到,常用于分组数据较少,广播通信以及视频通信等领域 ARP:从分组数据包的IP地址中解析出物理地址(Mac地址)的一种协议  FTP 传输文件时建立两个连接,一个是传输连接,一个是控制连接

MacType回归

上一次使用MacType还是在Win7的时候,当时很繁琐,替换字体,替换主题,现在方便多了,可以直接安装。 软件支持渲染系统界面,有些渲染失败是因为微软渲染引擎不统一引起的,项目已经开源,亲侧使用界面很舒服。 参考链接: Windows 10 一周年更新版本下使用 MacType 渲染 开源项目主页