以太坊

通过Geth搭建私有以太坊网络

为了进一步了解以太坊区块链网络的工作方式和运行原理,笔者通过官方软件Geth搭建了私有以太坊网络fantasynetwork:首先通过VMware Workstation创建基础Ubuntu实验平台,再安装Golang、Geth等依赖环境;其次使用puppeth工具生成私网的配置文件genesis.... ... »

如何取消以太坊智能合约授权,防止被黑客盗取Token?

在小狐狸钱包(MetaMask)日常使用中,有一个细节可能很少人注意到,就是无论你登入什么网站,或者需要跟任何项目签订智能合约都要授权的步骤,这其中就会给黑客留下很多空子,特别是将一个Token用智能合约托管给项目方的时候,这时项目方是拥有操作你账户中该Token权限的权力的,那么怎么才能取消跟他们 ... »

3.以太坊之秘钥文件

1.账号   账号在以太坊中扮演着核心的角色.以太坊共有两种账号类型: 外部账号( EOA) 和合约账号.   在这里我们先重点关注外部账号,简称账号.合约账号简称合约,合约账户在合约章节中详细介绍. 外部账户和合约账户都是账户的通用概念,这些账户其实都是状态对象.外部账户的余额就是外部账户的一个状态对象,合约账户的状态除了有余额还有合约存储. 所有账户的状态都是以太坊网络的状态,以太坊网络的状态 »

以太坊区块和交易存储

区块存储 区块(Block)是以太坊的核心数据结构之一,Block包含Header和Body两部分。区块的存储是由leveldb完成的,leveldb的数据是以键值对存储的。 // BlockChain 表示了一个规范的链,这个链通过一个包含了创世区块的数据库指定. BlockChain管理了链的插入,还原,重建等操作. //插入一个区块需要通过一系列指定的规则指定的两阶段的验证器. // 使用P »

以太坊入门三 Web3j.py 与节点交互

以太坊 geth 客户端提供自带的交互接口即 web3j ,来控制节点的信息操作。到实际开发中,不论是采用 Java 版的 web3j,还是 Python 版的 web3j,其实关系就不是很大了。 web3 js :https://web3js.readthedocs.io/en/v2.0.0-alpha/ java-web3j:https://docs.web3j.io/getting_star »

以太坊的多种客户端

目前以太坊客户端支持8种语言的客户端,这篇博客就简单介绍一下每个客户端的编程语言及客户端地址。 go-ethereum 语言:Go 简介:官方推荐,开发使用最多 地址:https://github.com/ethereum/go-ethereum cpp-ethereum 语言:C++ 地址:https://github.com/ethereum/cpp-ethereum pyethapp »

以太坊私网建立 、合约编译、部署

一、为什么用到私有链? 在以太坊的共有链上部署智能合约、发起交易需要花费以太币。而通过修改配置,可以在本机搭建一套以太坊私有链,因为与公有链没关系,既不用同步公有链庞大的数据,也不用花钱购买以太币,很 »

lvdongjie

以太坊 私有链搭建 Geth+Mist钱包

 近期在区块链的热潮推动下,我开始研究区块链技术,尤其是智能合约。可编程式的智能合约龙头老大非以太坊莫属了,其他的合约平台如 hyperledger,EOS 相对来说没以太坊成熟,以后陆续在研究。好了,废话不多说了,开始以太坊私有链搭建。 一.geth,mist 客户端下载      1.这里我给大家介绍下,以太坊客户端,以太坊客户端主要分成两类。一个是后台命令行客户端,如:geth(go语言), »

以太坊客户端geth的基本操作命令

以太坊客户端geth的基本操作命令搭建了私有链环境之后,整理了一下客户端的一些基本的操作命令: 启动命令重复上篇博客步骤,先将区块链客户端启动,命令如下: geth –datadir “%cd%\chain” console 看到启动页面之后,新开启一个终端,并执行一下命令,并把日志输出到文本文件当中: geth --dev console 2>> file_to_log_output »

以太坊:Truffle框架实践之HelloWorld

一、初始化项目 mkdir helloworld cd helloworld truffle init 新建一个文件夹,使用truffle init进行初始化,有时候会连接不上,多试几次就好了。    将文件夹使用ftp下载到本地,文件目录如下:   文件目录解释如下: contract/ - Truffle默认的合约文件存放地址。 migrations/ - 存放发布脚本文件 test/ »

以太坊入门一 常用语句

区块链技术从1.0时代以比特币为代表的数字化支付;到2.0时代以太坊为代表,数字支付和智能合约相结合;至今3.0时代,超出金融领域,为各行各业提出去中心化解决方法。 国家也提出以联盟链为发展方向进军区块链世界。 区块链所需要的环境配置好以后,接下来内容均为个人开发记录,仅供参考。(geth 客户端、web3j.py 交互、python开发使用) 初始化创世区块 1 { 2 "confi »

以太坊虚拟机介绍3-算术运算指令

以太坊虚拟机算术运算指令EVM总共定义了11条算术运算指令,见下表: 这些指令从栈顶弹出两到三个元素,进行相应计算,然后把结果推入栈顶。参与计算的元素和结果均被解释为按二的补码编码的整数。如果计算结果(假设为x)溢出(超出2^256),则最终的结果x’取值x % 2^256(%表示取模运算,^表示指数运算)。 下面是算术运算指令的操作码分布图:   ADD、MUL、SUB、DIV、SDIV、 »

以太坊go-ethereum签名部分源码解析

以太坊go-ethereum签名部分源码解析 golang标准库里的crypto/ecdsa椭圆曲线加密算法所提供的函数有: ecdsa.PublicKey结构体通过持有一个elliptic,Curve接口的实现体,可以提供椭圆曲线的所有属性,和相关操作;PublicKey的成员(X,Y),对应于算法理论中公钥的坐标。 func GenerateKey(c elliptic.Curve, »

区块链-以太坊笔记

比特币系统:基于交易 以太坊:基于账户(160位,即40位16进制数),对与double spending attack有天然防御作用,不用说明币的来源 账户: 1)外部账户:账户余额(blance) »

wu-lala

c#实战开发:以太坊钱包快速同步区块和钱包卡死解决方案 (三)

c#实战开发:用.net core开发一个简单的Web以太坊钱包 (六) c#实战开发:以太坊Geth 命令发布智能合约 (五) c#实战开发:以太坊Geth 常用命令 (四) c#实战开发:以太坊钱包快速同步区块和钱包卡死解决方案 (三) c#实战开发:以太坊钱包对接私链 (二) c#实战开发:以太坊私链搭建(一) 首先以太坊默认的快速同步模式 我们需要先设置当前同步模式内存大小512-2048 »

基于以太坊的Token开发步骤

Token开发步骤 一、准备工具1.安装以太坊brew tap ethereum/ethereumbrew install ethereum2.node:brew install nodejs3.安装依赖库:npm install -g ganache-cli web3 solc truffle truffle-contract zeppelin-solidity4.运行ganache-cli, »