初识Solidity

187 阅读2分钟

什么是Solidity?

Solidity语言是一种面向合约的高级编程语言,用于在以太坊区块链网络上实现智能合约。Solidity语言深受c++、Python和JavaScript的影响,针对以太坊(Ethereum)虚拟机(EVM)设计。 Solidity语言是静态类型语言,支持继承、库和复杂的用户定义类型。 可以使用Solidity语言创建区块链上运行的投票、众筹、钱包等各种类型的智能合约

什么是以太坊?

以太坊官方文档 介绍的很详细,可以去阅读;

什么是智能合约?

智能合约只是一个运行在以太坊链上的一个程序。 它是位于以太坊区块链上一个特定地址的一系列代码(函数)和数据(状态)。

智能合约也是一个以太坊帐户,我们称之为合约帐户。 这意味着它们有余额,可以成为交易的对象。 但是,他们无法被人操控,他们是被部署在网络上作为程序运行着。 个人用户可以通过提交交易执行智能合约的某一个函数来与智能合约进行交互。 智能合约能像常规合约一样定义规则,并通过代码自动强制执行。 默认情况下,您无法删除智能合约,与它们的交互是不可逆的。

它具有以下特性:

  • 无需准入性
  • 可组合性

初次体验Solidity

1.使用Remix编辑器(暂时这么理解的)

有在线版本和本地构建Remix-ide版本; 在线版本地址:remix.ethereum.org/

ps:在线版本的每次写完之后,存在了本地浏览器的localStorage中

2.写下以下代码
// SPDX-License-Identifier: GPL-3.0      //说明源代码是根据GPL 3.0版本授权的
pragma solidity ^0.7.0;   //说明版本>=0.7.0

contract Hello{
    uint public x ;
    function setX(uint y) public {
        x = y;
    }

    function getX() public view returns(uint){
        return x;
    }
}
  • contract关键字 定义一个合约,
  • function关键字 定义方法
  • uint关键字 定义类型
3.编译

image.png

4.部署

image.png

日志栏:from xxx to yyy;其实这就是一个合约交易;"xxx"就是当前合约部署后的地址

总结

初次部署环境,了解Solidity,感受一个整个大致流程;后续持续总结输出;一起加油⛽️