区块链基础:编写一个最简单的合约,修改和查询

案例 1:存储合约

先看代码:

复制代码
// SPDX-License-Identifier: GPL-3.0

pragma solidity >=0.4.16 < 0.9.0;

contract SimpleStorage {
    uint storedData;
    // 修改 x 值的方法
    function set(uint x) public
    {
        storedData = x;
    }
    // 查询 x 值的方法
    function get() public view returns (uint)
    {
        return storedData;
    }
}

代码的注解:

//第一行是说明源代码是根据GPL 3.0版本授权的。默认情况下,在发布源代码时加入机器可读许可证说明是很重要的。

// 第二行是告诉编译器源代码所适用的Solidity版本为>=0.4.16 及 <0.9.0 。

// 这样的说明是为了确保合约不会在新的编译器版本中发生异常的行为。关键字 pragma 是告知编译器如何处理源代码的通用指令(例如, pragma once )。

这里就学会写第一个合约了,其实solidity语言类似于C语言,不过也是很比C简单的,所以学习solidity语言不需要很担心学不回。

相关推荐
终端域名18 小时前
中本聪思想与Web3的困境:从理论到现实的跨越
web3·区块链·元宇宙
大白猴2 天前
大白话解析 Solidity 中的防重放参数
区块链·智能合约·solidity·时间戳·重放攻击·nonce·防重放参数
小明的小名叫小明2 天前
区块链技术原理(12)-以太坊区块
区块链
大白猴2 天前
大白话解析“入口点合约”
区块链·智能合约·solidity·以太坊·账户抽象·入口点合约·erc4337
余_弦2 天前
区块链中的密码学 —— 零知识证明
算法·区块链·以太坊
木鱼时刻2 天前
肖臻《区块链技术与应用》第14-15讲 超越货币:以太坊如何用“智能合约”开启去中心化应用时代
去中心化·区块链·智能合约
电报号dapp1192 天前
公链开发竞争白热化:如何设计下一代高性能、可扩展的区块链基础设施?
web3·去中心化·区块链·智能合约
爱看科技2 天前
微美全息(NASDAQ:WIMI)Raft携手节点动态评估:引领联盟链高性能共识新潮流
去中心化·区块链
区块链蓝海2 天前
YouBallin正式上线:用Web3重塑创作者经济
区块链
Dynadot_tech2 天前
区块链 + 域名Web3时代域名投资的新风口(上)
web3·区块链·域名·dynadot·域名市场·域名投资