玩以太坊链上项目的必备技能(初识智能合约语言-Solidity之旅一)

这篇具有很好参考价值的文章主要介绍了玩以太坊链上项目的必备技能(初识智能合约语言-Solidity之旅一)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前面一篇关于智能合约翻译文讲到了,是一种计算机程序,既然是程序,那就可以使用程序语言去编写智能合约了。

而若想玩区块链上的项目,大部分区块链项目都是开源的,能看得懂智能合约代码,或找出其中的漏洞,那么,学习Solidity这门高级的智能合约语言是有必要的,当然,这都得在公链``````以太坊上,毕竟国内的联盟链有些是不兼容Solidity

Solidity是一种面向对象的高级语言,用于实现智能合约。智能合约是管理以太坊状态下的账户行为的程序。

Solidity是运行在以太坊(Ethereum)虚拟机(EVM)上,其语法受到了c++pythonjavascript影响。

Solidity是静态类型的,支持继承、库和复杂的用户定义类型以及其他功能。

使用Solidity,您可以为投票、众筹、盲目拍卖和多签名钱包等用途创建合约。

在部署合约时,你应该使用最新发布的 Solidity 版本。除了特殊情况外,只有最新版本才会收到安全修复。此外,突破性的变化以及新的功能会定期引入。我们目前使用0.y.z版本号来表示这种快速变化的速度。

Solidity 具有以下两个显著特征(纯属笑谈,别太在意):

  • 1、面向对象:学会之后能挣钱去找对象
  • 2、在币圈混:不会 Solidity ,在圈内显得是那么 low,“瞧,那家伙不会 Solidity,还想混币圈!”

在线编辑器 remix

工欲善其事,必先利其器。这句话是很有道理的,不管做什么事或在学习新事物,都要准备好工具,学习新事物也是一样的。

打开浏览器,在地址栏输入remix.ethereum.org

打开后的默认界面,包含 Solidity 示例。首次打开可能没那么快,这毕竟国外的站点。

玩以太坊链上项目的必备技能(初识智能合约语言-Solidity之旅一)

我们在当前工作空间新建一个 solidity 文件,注意,是以sol作为文件的后缀名。

玩以太坊链上项目的必备技能(初识智能合约语言-Solidity之旅一)

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.7;
contract MyToken{
    string public webSite = "Welcome to qiucode.cn";
}

玩以太坊链上项目的必备技能(初识智能合约语言-Solidity之旅一)

代码分析:

  • solidity 也和大多数编程一样,也是使用//作为程序的注释,而本实例中的第一行其实是表明该合约所用的软件许可(license),这里用的是MIT license。如果不写许可,编译时会警告(warning),但程序可以运行。

    // SPDX-License-Identifier: MIT
    
  • 而第 2 行 则声明了合约所使用的 solidity 版本,毕竟 solidity 正处于发展阶段,更新迭代比较频繁,不同的版本之间各有差异。这行代码意思是源文件将不允许小于 0.8.7 版本或大于等于 0.9.0 版本的编译器编译(第二个条件由^提供)。Solidity 语句以分号(;)结尾。

    pragma solidity ^0.8.7;
    
  • 第3-4行是合约部分,第3行创建合约(contract),并声明合约的名字 MyToken。第4行是合约的内容,我们声明了一个string(字符串)状态 webSite,并给他赋值 “Welcome to qiucode.cn”。

    contract MyToken{
        string public webSite = "Welcome to qiucode.cn";
    }
    

编译需要点时间,直到出现了绿色小图标,就说明编译成功了。

玩以太坊链上项目的必备技能(初识智能合约语言-Solidity之旅一)

现在可以不受测试下看看效果如何。

玩以太坊链上项目的必备技能(初识智能合约语言-Solidity之旅一)

玩以太坊链上项目的必备技能(初识智能合约语言-Solidity之旅一)

玩以太坊链上项目的必备技能(初识智能合约语言-Solidity之旅一)文章来源地址https://www.toymoban.com/news/detail-415409.html

到了这里,关于玩以太坊链上项目的必备技能(初识智能合约语言-Solidity之旅一)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • web3系列———4.编写第一个智能合约并发布到链上

    本篇教程为在以太坊区块链上发布一个智能彩票合约,活动期间用户可充值一定金额的以太币到合约地址,活动结束进行开奖,随机从参与用户中抽取3人,平分奖池奖金。(分为上下两篇)(本篇为下) 教程思路: 新建以太坊钱包 充值一定数额ETH作为合约发布汽油费 Remix编写s

    2024年04月15日
    浏览(46)
  • java使用web3j,部署智能合约在测试链上,并调用(万字详细教程)

    最近在学区块链相关,想做点自己感兴趣的。网上关于这块部分的坑也比较多,最近也是问了很多行业从事者才慢慢填坑,因此记录下来分享一下。 钱包 :metemask、 solidity编译器 :remix 、 java ide :idea。 智能合约编写的我选择在remix上方便,而且部署的时候不需要自定义gasP

    2024年01月16日
    浏览(41)
  • 【智能合约】以太坊合约执行分析

    目录 1. 基本概念 1.2 合约字节码 1.3 合约构造函数 1.4 与合约交互 1.5 Call Data 1.6 程序计数器(Program Counter) 1.7 执行环境(Context) 1.8 OpCode(操作码/EVM指令/助记符) 1.9 Gas消耗 1.10 合约执行过程 2. 过程详解 2.1 关于部署代码 2.2 runtime代码 2.3 最终字节码 2.4 为EVM设计的指令集

    2024年02月02日
    浏览(41)
  • Aleo隐私智能合约编程__第四章__部署进链上Aleo Testnet3网络

    相关资料链接 官方部署文档 https://developer.aleo.org/testnet/getting_started/deploy_execute_demo/ 查看链上所有的程序 https://explorer.hamp.app/programs 测试网领水 https://twitter.com/AleoFaucet Aleo SDK在线工具 https://aleo.tools/ snarkOS源码 https://github.com/AleoHQ/snarkOS leo源码 https://github.com/AleoHQ/leo Aleo CSDN h

    2024年01月25日
    浏览(32)
  • 【ETH】以太坊合约智能合约逆向方案

    技术角度了解区块链 在反编译之前,你需要先知道如果获取编译后的字节码。 这里以 USDT 举例

    2024年02月09日
    浏览(27)
  • 以太坊智能合约开发(五):Solidity成绩录入智能合约实验

    每个学生分别部署合约Student.sol ,保证只有自己可以修改姓名。老师部署合约StudentScore.sol,用于录入学生成绩,查询学生信息。查询学生信息时,需要调用学生部署的合约Student.sol。 student.sol合约,用于学生对自己信息进行管理。 学生的基本信息作为状态变量: 声明构造函

    2024年02月07日
    浏览(36)
  • 1-完全理解以太坊智能合约

    区块链技术的核心概念是分布式账本,它是许多参与者共享的特定类型的数据库。 这个特殊的数据库只是一个交易列表,记录着网络中发生的每笔交易。每个人都可以拥有自己的交易列表备份,再加上强有力的货币激励措施消除各方之间信任成本。 使用区块链,可以把信任

    2024年02月04日
    浏览(31)
  • go语言操作以太坊智能合约

    操作中要注意版本问题 geth版本、golang版本等 在remix环境中写好合约后,进行编译得到abi文件 简单举例 Hello.sol合约 编译后abi文件(Hello.abi)内容 然后需要一个 abigen工具 可以将abi、bin等编译后的智能合约文件内容生成go代码 abigen可以在geth官网下载geth的时候下载GethTools版本

    2024年02月09日
    浏览(27)
  • 以太坊 – 部署智能合约到Ganache

    目录 1. Ganache本地区块链 1.1 主界面 1.2 设置 2. 开发智能合约 2.1 初始化项目 2.2 添加package.json文件 2.3 添加智能合约源文件 2.4 编译项目 3. 部署智能合约到Ganache 3.1 更新配置文件 3.2 创建迁移脚本  3.3 执行迁移命令 首先启动Ganache,创建本地的以太坊区块链网络。 本地

    2024年02月16日
    浏览(38)
  • 以太坊–智能合约开发介绍及环境搭建

    目录 1. 智能合约的概念 2. 智能合约的优点  3. 智能合约开发 3.1 支持智能合约的区块链 3.2 以太坊智能合约开发工具 3.3 以太坊智能合约开发语言 4. 智能合约开发环境搭建 4.1 准备工作 4.2 Node 与 NPM 4.3 Truffle 框架 4.4 Ganache 4.5 Metamask 4.6 VS code 与 Solidity插件 智能合约 (

    2024年02月05日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包