以太坊私链搭建与配置
个人记录,很多操作参考了这篇文章与其他的,主要是为了给自己一条特别适合自己工作环境的私链。 关于环境 用的geth,安装啥的我觉得不用多说了,资料太多 init 创世区块 在非go目录下,新建一个,比如我在~/PersonWork/bychain,目录下来一个gensis.json,创世区块! 123456789101112131415161718192021{ "config": { "chainId": 23333, //反正别是1,1是以太坊主链 "homesteadBlock": 0, "eip150Block": 0, "eip155Block": 0, "eip158Block": 0, "byzantiumBlock": 0, "constantinopleBlock": 0, "petersburgBlock": 0 ...
Go半小时入坑
关于go的一些基础,也不是特别准确吧,不对请指出 关于环境 欲go必装go,go的安装,mac我觉得直接用brew命令很棒,也可以去官网下载 用go env查一下自己的一些配置 圈出来的,最好在.bash_profile下设置下吧 GOPATH这个主要是存放路径,路径下 bin存放编译后的可执行文件;pkg存放编译后的包文件;src存放项目源文件。 关于ide:如果是轻量级的食用,我觉得vscode就已经很棒了,idea装插件也很赞,我直接装的goland,也是jetbrains公司的,不免费(其实idea带插件就很不错),方法自寻,学术免费,还是建议食用IDE,毕竟刚刚开始使用,我觉得成型的IDE免去很多麻烦,后续看看这些IDE都做了什么,安装了什么包,配置了什么,对以后手动配置和理解也很有帮助,也可以迅速步入正题。goland基本上进去会自动识别出来上面三个路径吧,尤其是gopath。 Go的理解 Go语言的类型系统 Go使用组合设计模式;不同于java的继承,两者应该是这样的 继承:车(驾驶员) <-- 客车(乘客)<-- 货车(货物) 组合:货车(驾驶,载 ...
py-evm之Guides翻译-创建操作码
py-evm系列译文,有不当之处请联系改正,原文如下:https://py-evm.readthedocs.io/en/latest/guides/creating_opcodes.html py-evm系列译文之2-Guides翻译4:创建操作码 创建操作码 操作码只是一个以BaseComputation 实例作为唯一参数的函数。如果操作码函数具有返回值,则在正常VM执行期间将丢弃该值。 这是一些简单的例子。 1234567891011def noop(computation): """ 一个无所事事的操作码 (甚至不消耗gas) """ passdef burn_5_gas(computation): """ 一个只是简单消耗5gas的操作码 """ computation.consume_gas(5, reason='吃你5 gas 咋滴?') as_opcode()助手 虽然这些示例表明了简 ...
py-evm之Guides翻译-架构
py-evm系列译文,有不当之处请联系改正,原文如下:https://py-evm.readthedocs.io/en/latest/guides/architecture.html py-evm系列译文之2-Guides翻译2:py-evm架构 架构 Py-EVM的主要用例是支持公共以太坊区块链。 但是,它的架构主要集中在可配置性和可扩展性上。在没有对核心库进行任何更改的情况下,应该可以将Py-EVM用于诸如私有链,联盟链甚至具有根本不同的VM语义的链的替代用例。 以下抽象用于表示基于Py-EVM的区块链的完整共识规则。 链:用于与区块链交互的高级API。 虚拟机:Chain中单个fork的高级API,(我理解的fork应该是分叉的意思) VMState:VM的当前状态,事务执行逻辑和状态转换函数。 消息:表示与VM执行相关的事务部分。 计算:VM执行的计算状态和结果。 操作码:单个操作码的逻辑。 链 术语**链(Chain)**用于封装: 状态转换功能(例如VM操作码和执行逻辑) 协议规则(例如块奖励,头奖励,难度计算,交易执行) 链数据(例如头,区块,交易和收据) 状态数 ...
py-evm之Guides翻译-理解挖矿过程
py-evm系列译文,有不当之处请联系改正,原文如下:https://py-evm.readthedocs.io/en/latest/guides/understanding_the_mining_process.html py-evm系列译文之2-Guides翻译3:理解挖矿过程,主要是介绍了创建了一个非常非常低难度的链,然后模拟挖掘了一个空块以及一个包含0值交易的块的挖掘 注:挖矿和挖掘在这篇文章里是一个意思 理解挖矿过程 从Cookbook我们已经可以学习如何使用Chain该类创建单个区块链,作为不同块的不同虚拟机的组合。 在本指南中,我们希望建立在这些知识上并研究实际的挖掘过程。 !注意 挖矿是一个过载的术语,事实上,所提到的API的名称可能会发生变化。 挖矿 根据我们的观点,挖矿这个术语可以指不同的东西。大多数时候,当我们阅读有关挖矿的内容时,我们会认为这是一个多个方竞争成为第一个创建新的有效块并将其传递到网络的过程。 在本指南中,当我们讨论 mine_block()API时,我们只是指创建,验证和设置块作为链的新规范头部的部分,但它不一定是所提到的竞争为第一的一部分。 ...
py-evm之Guides翻译-构建一个使用Py-EVM的应用程序
py-evm系列译文,有不当之处请联系改正,原文如下:https://py-evm.readthedocs.io/en/latest/guides/building_an_app_that_uses_pyevm.html py-evm系列译文之2-Guides翻译1:构建一个使用Py-EVM的应用程序 构建一个使用Py-EVM的应用程序 该Py-EVM库的主要用例之一是使开发人员能够构建想要与以太坊生态系统交互的应用程序。 在本指南中,我们要构建一个非常简单的脚本,该脚本使用Py-EVM库创建一个带有预先资助地址的新区块链,以便通过常规Py-EVMAPI 简单地读取该地址的余额。坦率地说,这不是世界上最激动人心的应用程序,但对于更激动人心的用例,如何使用Py-EVM库的原则保持不变。 设置应用程序 让我们开始设置一个新的应用程序。通常,该过程涉及大量重复的样板代码,因此不要手动完成所有操作,只需克隆包含我们想要的所有典型事物的 以太坊Python项目模板。 要将其克隆到新目录中,请demo-app运行: 1git clone https://github.com/carver/eth ...
py-evm之Guides目录翻译
py-evm系列译文,有不当之处请联系改正,原文如下:https://py-evm.readthedocs.io/en/latest/guides/index.html py-evm系列译文之2-guides目录翻译 指南 本节旨在提供实践指南,演示如何使用Py-EVM。如果您正在寻找详细的API描述,请查看API部分。 快速开始 安装 构建一个使用Py-EVM的应用程序 设置应用程序 添加Py-EVM库作为依赖项 编写应用程序代码 运行脚本 结构 连锁,链条 VM VMState 消息 计算 操作码 了解采矿过程 矿业 挖空块 检索有效的nonce并混合哈希 使用事务挖掘块 创建操作码 as_opcode()助手 操作码为类
使用Hexo写博客
空有页面而无内容,有一点小尴尬呢~这里主要讲基础,有很多更方便更fashion的操作就先不说了,写文章要紧 创建一篇文章 123456# 创建一个页面$ hexo new page <page># 创建一篇博客$ hexo new post <title># 创建一篇草稿$ hexo new draft <title> 默认会在source/_posts目录下创建一个xxxx.md 模板 模板在./scaffolds下,有post/draft/page三种 1$ hexo new post "article_name" 一个模板 scaffolds/post.md1234567891011121314---title: {{ title }}date: {{ date }}updated: toc: truetags:---简介<!--more-->正文 填充内容 头部 常用关键字 123456789101112title: 如何在hex ...
基于Hexo创建博客
基础步骤 选择一个喜欢的主题,比如我曾经的选择Yelee,因为有自己喜欢的功能,而且很好看;后来觉得不适合我高冷的性格,换了paperbox 这里给个repo,大佬真牛逼,写得超详细:https://segmentfault.com/a/1190000017986794;不过它用的是next主题 安装Hexo 先安装准备 node 和 git 环境,mac下面直接用brew install xxx就成了 如果以上环境准备好了就可以使用 npm 开始安装 Hexo 了,官网有说 1npm install -g hexo-cli 安装 Hexo 完成后,再执行下列命令,Hexo 将会在指定文件夹中新建所需要的文件。 123hexo init myBlogcd myBlognpm install npm如果老提示permission deny的话,记得修改下权限 最后,运行 hexo s 命令,其中 s 是 server 的缩写,在浏览器中输入 http://localhost:4000 回车就可以预览效果了 git配置 网上找吧,太多了 github开一个repo 这个repo名字得是 ...
py-evm之cookbook翻译
py-evm系列译文,有不当之处请联系改正,原文如下:https://py-evm.readthedocs.io/en/latest/cookbook/index.html py-evm系列译文之1-cookbook翻译 食谱 Cookbook是一系列简单的食谱,展示了完成常见任务的良好实践。这些示例通常是简单的“我如何…”问题的简短答案,这些问题超出了简单的API描述,但也不需要完整的指南才能变得清晰。 使用Chain对象 一个"单独"的区块链是由一系列不同的虚拟机组成的,它们用于不同的块跨度,例如,以太坊主网有一个虚拟机用于块0到1150000(称为Frontier),另一个VM用于块1150000到1920000(称为Homestead)。 Chain在定义VM范围后,该对象将管理一系列fork规则。例如,要设置一个跟踪主网以太坊网络的链,直到块1920000,您可以创建此链类: 123456789101112>>> from eth import constants, Chain>>> from eth.vm.forks ...