来自 计算机编程 2019-12-04 16:28 的文章
当前位置: 澳门威尼斯人平台 > 计算机编程 > 正文

以太坊应用实战2-以太坊

python利用web3.py开发以太坊应用dapp的实战教程:

以太坊是一个开源的有智能合约功能的公共链平台,它允许任何人在平台中建立和使用通过区块链技术运行的去中心化 应用。

通过本次实战可以快速开发一个完整的去中心化应用-投票系统,用户可以在不可信的分布环境中对特定候选人进行投票,每次的投票记录都会被记录在区块链上

在以太坊的钱包开发1中,我们介绍了node环境搭建、本地区块链节点的搭建与启动,下面开始实现钱包转账。

python以太坊

可以简单类比理解,以太坊是Android系统,我们可以应用这个平台基于区块链技术写DAPP应用

去中心化应用(DAPP: Decentrailized Application),应用的运行不 依赖于任何中心化的服务器,而是基于点对点网络上运行,不同的DAPP通常使用不同的数据 结构类型的共识协议,例如比特币使用工作量证明协议(POW)来达成共识。

在app.js中,

本课程详细讲解如何使用Python开发以太坊应用,课程内容即涉及以太坊中的核心概念,例如账户管理、状态与交易、智能合约开发与交互、过滤器和事件等,同时也详细说明如何使用Python与以太坊进行交互,是Python工程师学习以太坊应用开发的不二选择 。

以太坊平台对底层区块链技术进行了封装,让应用开发者可以基于平台进行开发,开发者只需关注应用本身的开发,而无须关注其底层技术,大大降低了开发难度

通过此次实战可以学习到以下知识

var Web3 = require('web3');
if (typeof web3 !== 'undefined') {
    web3 = new Web3(web3.currentProvider);
} else {
    // set the provider you want from Web3.providers
    web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"));
}

var version = web3.version.api;
console.log(version);

核心概念

    EVM:以太坊虚拟机,轻量级虚拟机环境,是以太坊中智能合约的运行环境。

    Account:账户,分两类:合约账户存储执行的合约代码;外部账户为以太币拥有者账户,对应到某公钥。

    Transaction:交易,从一个账户到另一个账户的消息,包括以太币或者合约执行参数。

    Gas:燃料,每执行一条合约指令会消耗一定的燃料,当某个交易还未执行结束,而燃料消耗完时,合约执行终止并回滚状态。

以太坊网络中,众多节点彼此链接,构成了以太坊网络

图片 1

2.1 以太坊网络

以太坊节点提供了两个核心功能:交易数据存储、合约代码

在每个以太坊全节点中都保存着完整的数据,不仅有交易的数据,还包括编译后的合约代码,在全节点中还提供一个虚拟机来执行合约代码

    以太坊区块链基础知识

我们实例化了web3的对象,使用这个对象可以实现我们要的所有功能。

本文由澳门威尼斯人平台发布于计算机编程,转载请注明出处:以太坊应用实战2-以太坊

关键词: