什么是Solidity

Solidity是一种面向对象的高级编程语言,用于创立智能合约,以使区块链上的交易自动化。在2014年提出该语言后,该语言由以太坊我的项目的贡献者开发。该语言次要用于在以太坊区块链上创立智能合约,并在其余区块链上创立智能合约。

可靠性相似于最常见的编程语言之一JavaScript。它能够被视为JavaScript的方言。这意味着,如果您理解JavaScript,则能够轻松抉择Solidity。 Solidity也具备与C ++和Python编程语言类似的特色。

官网文档:https://solidity-cn.readthedo...

开发环境搭建

因为是在学习阶段,集体倡议是不要本人搭环境了,间接应用Ethereum官网开发的remix在线编程环境,地址在这:http://remix.ethereum.org/

当然,你也能够去抉择手动搭建。在手动搭建之前,我倡议能够先下载一个以太坊官网钱包,Ethereum Wallet并且同步一下最新的测试网络的区块。下载实现之后,咱们要获取测试网络收费的以太坊币。这个具体流程,自行搜寻一下,咱们明天的重点不在这个方面。装置Solidity编译器,能够在官网文档查阅;

Hello World

当初咱们关上在线编程环境,http://remix.ethereum.org/

咱们能够看到,这个界面分3块区域。应用vscode的同学必定感觉很相熟。我这边就不过多的去介绍了。

当初咱们创立一个 Workspace,叫 hello world.

当创立好之后,会默认生成一些文件,这些文件都是能够删除的。咱们创立一个HelloWorld.sol的文件,并编写代码:

// SPDX-License-Identifier: GPL-3.0pragma solidity >=0.7.0 <0.9.0;contract HelloWorld{        string MyName = "HelloWorld";        function getName() public view returns(string memory)    {        return MyName;    }        function changeName(string memory newName) public    {        MyName = newName;    }}

这里简略解说下这个代码构造,第一行是咱们要申明的协定(个别默认就是这个),第二行是申明所应用的的Solidity的版本。不同的版本,他的语法是有变更的。contract是代表对象的意思。其余的当前再做解说。咱们先看下,怎么来运行这一段代码。

如图所示,咱们要抉择跟代码中对应的版本号,代码中的版本号是大于等于0.7.0,小于0.8.0,所以咱们的版本号是对应的。

这是编译胜利的状态。咱们当初曾经有一个合约了,当初就差最初一步部署了。

咱们抉择左侧的第三个按钮,就会展现以上图示。点击部署

如上图所示,这是部署胜利的状态,胜利之后,咱们会耗费测试账户中的ETH。这里咱们要留神,之后线上合约开发的本地测试,肯定要测齐全之后再部署。不然每次上线都要消耗掉ETH,这个老本太大了。

这边是咱们能够扭转代码中MyName的值,当然,这种操作也会账户中的ETH。