上一期 中,我们实现了在本地环境中发币这件事情,本期我们就来讲讲这波操作背后的原理——EOS 开发中的 5 个最基础的知识点: nodeos 区块链操作系统、cleos 命令行工具、钱包与账户、智能合约、默认合约。 1 nodeos 区块链操作系统上一期中,我们通过这个命令来在本机上运行「区块链操作系统」:
那么这个 nodeos 究竟是什么呢?在官方的文档中是这样定义的:nodeos 是服务器端区块链节点组件( component ),这个组件支持在运行的时候加载各种插件( plugin )。事实上,通过这行命令可以看到,我们运行时加载了钱包( wallet )、链( chain )和账户历史( account history )三个插件。 对于初学者来说,把组件替换为「操作系统」,可能更好理解一些。那么我们运行的是叫做「 nodeos 」的区块链操作系统。只有将操作系统运行起来,我们才能在上面进行开发。而操作系统上面加载了一些插件,通过这些插件,我们才能和操作系统交互。 那么,操作系统前面的「区块链」又是什么意思呢?部分读者是从事传统开发的,对区块链还不了解。因此,虽然有些啰嗦,但仍要在此处普及一下区块链的概念:
知道了什么是区块链,就能理解为什么我们在上期实操时会有这样的现象:我们右侧屏幕操作时,左侧的屏幕上会跳出一些内容。
2 cleos 命令行工具从上一期的第四步开始,我们所有命令的最开始都是 cleos ,例如创建钱包:./cleos wallet create 。 cleos 是 EOS 的命令行工具,负责在 nodeos 上 做三件事情——与区块链系统的交互、管理钱包、管理账户,因此需要在启用了 nodeos 的情况下使用。 如果说 nodeos 是一个操作系统,那么 cleos 就是相当于 Terminal 的「命令行工具」。也许,通过下面这张图,你能更好地理解这一点: 在计算机上我们通过终端 Terminal 和操作系统交互,在区块链中我们通过 cleos 命令行工具与区块链操作系统交互。 3 钱包与账户钱包 是存储密钥对(公钥和私钥)的仓库,在区块链上执行的操作需要经过钱包的签名。 账户 是拥有相应访问权限的链上的安全主体,可以类比为我们计算机上的账户。 那么,钱包和账户的联系是什么呢? 钱包和账户相互独立( no inherent relationship )。当操作需要签名时,例如签署交易,两者才会发生关系。钱包将密钥本地存储在一个加密仓库中(仓库可加锁),能让我们以安全的方式获得签名。在实际项目中,为了更加安全,钱包和 nodeos 应该部署在不同的服务器上。但是在测试的时候从简,给 nodeos 加上 wallet-plugin 插件即可。 4 智能合约上一期中,我们加载了 bios 和 currency 两种智能合约。那么,什么是智能合约? 不用看二手资料,EOS 官方对此有准确清晰的定义:每个账户可以发送结构化的操作( Structured Actions ),并且可以定义代码来处理收到后的操作。EOS为每个账户提供自己的私有数据库,只能由该账户的操作处理程序(Action Handler)访问。除此之外,操作处理程序还可以发送操作到其它账户。 操作 与 自动化操作处理程序 相结合,便是 EOS 所定义的智能合约。 5 默认合约打开 eos 根目录下的 contract 文件夹,我们会看见其中包含一些官方提供的智能合约,这些合约可以称作默认合约。可以看到,我们上一期中使用的 bios 合约位列其中:
6 总结与预告在这一期里面,我们通过探寻上一期操作背后的原理,学习了 EOS 的 5 个最基础的知识点。实操与理论相结合,我们才能走得更远。所以,今后本课程也将沿用这种一期实操一期理论的形式。 7 教程的收费版本为了更好的服务 EOS 开发者,本教程推出基于小密圈的收费版本。收费版本和免费版本的具体差异请看下图。 教程迭代这件事情的重要性,通过第二课我们就能体会到。第二课中的 currency 合约在 EOS 系统更新后变成了 token 合约。所以,如果坚持使用免费课程,可能需要付出更多的时间和精力。 要进小密圈请扫下方二维码: 通过扫描下方二维码答题可部分减免学费: = END = 长按识别下方二维码 即可关注IMEOS.ONE公众号 |
比特股5.0 提供了AMM流动性挖矿,简单讲就是你可以为流动性池提
摘 要:流动性做市是市场的热点之一,在Automated Market Maker
先打开注册链接:https://faucet.btspp.io/?lang=zhr=btsabc1、2
首先下载麦子钱包:http://www.mathwallet.xyz注:IOS用户请下载