主页 > imtoken下载钱包 > 从技术角度看以太坊和智能合约

从技术角度看以太坊和智能合约

imtoken下载钱包 2023-07-09 05:19:36

随着区块链越来越普及,区块链应用也越来越多。 本文主要讲述区块链巨头之一,以太坊相关内容。

先解释一下为什么引入以太坊。 毕竟,有比特币这个市场老牌劲旅,也有现在风头正劲的EOS。

原因如下:

1. 与比特币相比,以太坊上的编程更加灵活。 比特币作为第一个区块链应用,从一开始就具有不可避免的金融属性,因此比特币上的编程更偏向于金融相关的业务,不够灵活。 相比之下,以太坊上的编程使用的是类似js的语言solidity(后续文章会专门介绍),这是一种图灵完备的语言,所以处理的业务不再局限于金融方面,更加灵活。

2、相对于EOS,以太坊已经运行了很多程序,目前没有大的问题。 目前EOS公链还没有上线。 虽然EOS白皮书介绍其功能较为完备,但市场上仍停留在官网状态。

3、对于开发者,以太坊支持多种语言的客户端,可以适配不同系列的开发语言和操作系统,更容易上手。

入门

如果你想深入开发这项技术,建议善用以下资源。

以太坊官网:

以太坊爱好者:

以太坊白皮书:

以太币和以太坊区别_以太坊映射代币什么意思_以太坊测试币会映射吗

%E4%BB%A5%E5%A4%AA%E5%9D%8A%E7%99%BD%E7%9A%AE%E4%B9%A6

在项目初期,为了适应不同系列的开发语言和操作系统,以太坊团队实现了很多客户端。 如下表所示,有各种开发语言实现的以太坊客户端。 客户的多样性是以太坊生态系统的巨大优势。

各语言版本客户端如下:

从技术层面看 以太坊与智能合约

不过对于一些准备做以太坊开发的初学者来说,还是建议使用mist开发环境。 因为mist开发比下载geth开发简单快捷。 如果你更喜欢更自主的开发环境以太坊测试币会映射吗,推荐使用geth+wallet开发。

Mist是去中心化web3.0应用的去中心化浏览器,geth(go-ethereum)是go语言的客户端。

本文以mist为例:

1)下载mist客户端

2)做映射,做以太坊开发,首先要同步以太坊数据。 一般情况下,节点数据会同步到系统盘。 截至发稿时以太坊测试币会映射吗,公链数据有200多G,导致系统盘负载过大。 做个映射很好。 操作步骤如下:

以太币和以太坊区别_以太坊映射代币什么意思_以太坊测试币会映射吗

a) 剪切C:UsersPHDAppDaTaroamingEthereum,存放在D:lockchain。 记住,这是切入,如果C:UsersPHDAppDaTaroaming目录下有“Ethereum”文件夹,会导致接下来的命令出错,“无法创建文件”。

b) 打开命令行窗口CMD,输入命令:mklink /JC:UsersPHDAppDaTaroamingEthereum D:lockchainEthereum

表明符号链接创建成功。

c) 打开mist以太坊钱包,验证是否成功

3)将离线节点复制到需要的文件夹中。因为以太坊节点的数据太大,需要等几天mist自己更新,速度比较慢。 最快的方法是在网上下载对应的镜像,放到需要的文件夹下,然后打开mist验证是否成功

以上就是搭建一个简单的以太坊开发环境的全部步骤,接下来就可以进行智能合约的开发了。

在开发智能合约之前,我们需要先解释一下什么是智能合约。

智能合约是以数字形式定义的一组承诺,控制数字资产,包括合约参与者约定的权利和义务,并由计算机系统自动执行。 智能合约程序不仅仅是一个可以自动执行的计算机程序,它本身就是一个系统参与者,可以响应接收到的信息,可以接收和存储价值,也可以向外界发送信息和价值。 这个程序就像一个信任的人,可以暂时保管资产,并始终按照事先的规则进行操作。 (目前最靠谱的解释)

通常,编写区块链程序更名为编写智能合约。 虽然比特币上也可以写智能合约,但是比特币支持的语法只和交易有关,能做的事情比较有限。 因此,说到编写智能合约,通常指的是支持执行图灵完备程序的以太坊(Ethereum)区块链。

以太坊测试币会映射吗_以太币和以太坊区别_以太坊映射代币什么意思

智能合约能做什么?

目前最常见的智能合约是各种加密货币合约。 开发人员可以通过部署智能合约轻松提供在以太坊上运行的新加密代币。 如果此智能合约兼容 ERC20 标准1,开发者无需重新开发从挖矿到交易的整个代币生态系统,您的新加密代币可以直接使用支持以太坊的电子钱包发送。 显着降低建立新加密代币的门槛。

智能合约也可以用来运营各种公开公平的自动化服务组织(DAO,去中心化自治组织)。 通过分布在全球节点上的智能合约,所有的操作和决策都是公开透明的,减少了交易的不确定性。

智能合约与普通程序的区别

1)易于整合现金流

2)部署和后续编写需要费用

3)存储数据的成本较高

4)部署后无法更改

将智能合约部署到区块链的过程

以太币和以太坊区别_以太坊测试币会映射吗_以太坊映射代币什么意思

合约编写完成后,将.sol编译成可供EVM(以太坊虚拟机)使用的二进制文件(Contract ByteCode),然后才能部署到以太坊区块链上执行。 部署到区块链上的合约会有一个钱包地址(address)和Contract Address格式相同。

从技术层面看 以太坊与智能合约

智能合约可以在部署后自动执行。 后续调用智能合约时,用户可以使用部署合约的钱包地址(owner account),也可以根据写入的智能合约条件,让其他钱包地址调用智能合约。 调用智能合约其实就是向这个合约地址发起交易,但交易的不仅仅是代币,而是智能合约提供的调用方式。

从技术层面看 以太坊与智能合约

智能合约示例:

从技术层面看 以太坊与智能合约

如何编写智能合约?

以太坊上的智能合约需要用 solidity 语言编写。 关于so​​lidity语法的详细介绍可以参考以下文章

黑马程序员Go语言和区块链专题将对智能合约和以太坊、EOS的区块链知识体系进行系统的讲解。

以太币和以太坊区别_以太坊映射代币什么意思_以太坊测试币会映射吗

课程分为八个阶段

Go语言开发实践第一阶段

第二阶段Go语言高并发服务器开发

第三阶段去中心化前端开发和web服务器开发

第四阶段区块链密码学安全理论与发展

区块链与智能合约发展第五阶段

区块链分布式应用发展第六阶段

区块链系统框架开发第七阶段

第八阶段围棋与区块链面试强化

人才培养方向包括密码学安全开发、区块链系统开发、区块链应用开发、Go语言Web开发、Go语言微服务开发、Go语言分布式开发。

Go语言入门免费资源 - 黑马出品

后续更多区块链精品免费课程分享,请关注黑马程序员