猿创征文 | Solidity 智能合约技术成长之路

这篇具有很好参考价值的文章主要介绍了猿创征文 | Solidity 智能合约技术成长之路。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Solidity 智能合约入门

Solidity 是链上智能合约的开发语言,链上智能合约相当于传统行业的后端,链上应用基本都是由合约 + 前端组成的,虽然不推荐,但部分链上应用也会加入后端进行数据存储,以降低用户的使用成本。

Solidity 这门开发语言并不复杂,只需要您稍微有一点儿编程基础,英文词汇量达到中学生水平,都能看懂基本的合约代码逻辑即可。

最开始强烈推荐先入门 ERC20 和 ERC721 ,理解之后,再去看关联的 ERC1155 、ERC4907 等以太坊标准,都不会觉得有什么理解上的太大压力。

除此之外,以太坊标准 ERC 为开发者提供了大量开源的合约接口,开发者可轻松用于构建各类链上实用功能。Solidity 智能合约开发,大体上就是 看懂(ERC) + 活用(ERC+开源链上合约代码) + 简单的逻辑调整改造(目的是贴合自己实际需求) 即可完成 ✅。

进行简单的合约开发,推荐您用 Remix IDE;如果您是资深开发人员,更习惯于命令行式的开发和调试,可以选择 Truffle 套件。

能够看懂大部分 ERC 之后,可以尝试看一些成功的链上项目了解更多链上应用的全貌,之后就能尝试自己构建链上应用。推荐您先从 0 开始仿写刚刚学习完的链上项目,就选择简单的即可,多完成几个项目仿写之后,相信您在自由构建的路上,应该不会有太大的困难。但需要注意的是,智能合约中像Dos攻击、短地址攻击、交易顺序依赖、伪随机等被Q烂的漏洞,也需要做到心中有数哦。

下面我会介绍两个开发IDE/工具套件,和推荐入门学习的链上项目,供您参考。

Remix —— 新手友好的可视化 IDE

Remix 是以太坊提供的可视化 Solidity 智能合约开发 IDE ,页面新手友好,在实现合约编辑、一键部署上链、合约接口测试、bug单步调试等全套功能的同时,界面简洁大气,用户还有多种前端风格可选,实用性和美观性上都得到了很好的满足。

solidity是后端吗,Solidity,你不懂Dapp,你不懂 Defi,智能合约,区块链,以太坊

Truffle —— 进阶联调抗打小能手

Truffle 套件能够实现 Remix 的功能,是命令行式的交互模式。Truffle 允许你以脚本的模式构建测试文件,后面合约代码的修改,只需一键执行测试文件即可,有时测试文件也需要配合进行微调。如果测试时您用的是 Remix,那可能需要在每次代码调整后,重新手动执行全套的测试流程。在自动化测试方面,Truffle 拔得头筹。

使用 Truffle 时,您可能还需要 Ganache 的辅助支持,以更方便、快捷地获得及查看测试地址的余额信息及链上交易状态。

solidity是后端吗,Solidity,你不懂Dapp,你不懂 Defi,智能合约,区块链,以太坊

Dapp 入门

Dapp 的入门学习首先推荐两个使用了 REC721 标准的链上项目:加密猫——CryptoKitty 和 阿蟹——Axie Infinity。CryptoKitty 的合约逻辑非常简单,有兴趣的伙伴可以看一下我的这篇博文教程。Axie Infinity 的合约逻辑涉及权限控制,会稍微复杂一丢丢,我的博文教程也在计划之中了,大家敬请期待。

Defi 入门

Defi 主要是使用 REC20 标准的链上项目,推荐你看借贷相关的 Compound、Aave,去中心化交易所相关的 Uniswap 入门。他们可比永续合约、衍生品、期权要友好的多,不需要你有太多的金融知识。

AAVE 是基于 Compound 构建的,目前 AAVE 的合约已经更新到了第三个版本,整体给我的感觉就是第一个版本比较混乱,学习的过程中内心无数次想要尖叫,学完之后就会觉得,也就那样吧。第二个版本代码相对整齐了很多,推荐读代码时容易被各种繁杂内调搞到头大的小伙伴可以略过 V1 直接从 V2 入门。第三版本的代码整洁得就像军事化管理下的干净,不推荐新手直接阅读,容易陷入迷宫困境。

上诉三个 Defi 项目的博文教程也在我的计划之中,V1 的 AAVE 应该会是最先推出的,大家敬请期待。

结语

以上就是我推荐的 Solidity 智能合约技术成长之路,从 ERC 标准入门,然后学习常用的开发工具,接着阅读成功链上应用的开源代码,然后可以开始自己尝试仿写构建,最后在了解常见漏洞规避方法的基础上,就能轻松踏上合约开发之路了。

记得,合约开发 == 看懂(ERC) + 活用(ERC+开源链上合约代码) + 简单的逻辑调整改造(目的是贴合自己实际需求)

🆗 ✅ 下课。文章来源地址https://www.toymoban.com/news/detail-816817.html

到了这里,关于猿创征文 | Solidity 智能合约技术成长之路的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【区块链技术开发】 Solidity使用Truffle Box工具实现预构建模板、自动化部署、创建智能合约示例代码

    专栏:区块链技术开发 Truffle Box是一个开发工具,为Truffle生态系统中的开发人员提供了预构建

    2023年04月16日
    浏览(36)
  • solidity函数签名的实现-solidity实现智能合约教程(8)

    猛戳订阅学习专栏🍁🍁 👉 solidity系列合约源码+解析 👈 🍁🍁 函数选择器: solidity调用函数时,calldata的前4个字节为指定要调用的函数,这4个字节称为函数选择器。 以下面的代码为例。它通过地址addr的调用合约的transfer方法。 abi.encodeWithSignature(…)返回的前4个字节是函数

    2024年02月16日
    浏览(37)
  • solidity实现智能合约教程(3)-空投合约

    猛戳订阅学习专栏🍁🍁 👉 solidity系列合约源码+解析 👈 🍁🍁 空投就是一种营销策略,通过空投活动将某种数字货币或代币分发给用户,通常需要用户完成一项简单的任务,如分享新闻、介绍朋友或拥有某种数字货币,目前也被广泛应用于宣传新币种,在数字货币市场中

    2024年02月07日
    浏览(55)
  • 【Solidity】智能合约案例——①食品溯源合约

    目录 一、合约源码分析: 二、合约整体流程:       1.部署合约       2.管理角色       3.食品信息管理       4.食品溯源管理         Producer.sol:生产者角色的管理合约,功能为:添加新的生产者地址、移除生产者地址、判断角色地址是否被授权         Di

    2024年02月08日
    浏览(36)
  • solidity开发智能合约

    起源于以太坊(Ethereum),设计的目的是能在以太坊虚拟机(EVM)上运行。Solidity 是一门面向合约的、为实现智能合约而创建的高级编程语言。所以先从智能合约开始。 参考文档 Solidity文档:区块链技术-智能合约Solidity编程语言 solidity官方文档: https://solidity-cn.readthedocs.io/

    2023年04月08日
    浏览(67)
  • solidity:智能合约结构介绍

    合约结构介绍 1.SPDX 版权声明 bytecode metadata 介绍 2.pragma solidity 版本限制 3.contract 4.import 导入声明 5.interface: 接口 6.library:库合约 第 1 行 // SPDX-License-Identifier: MIT 就是合约的版权声明。其中 SPDX-License-Identifier (SPDX 许可标示) 是标注当前的智能合约采用什么样的对外开放标

    2023年04月08日
    浏览(31)
  • Solidity 智能合约入门

    将一个数据放置在链上 我们对代码进行逐行分析,首先第一行 第一行表明此段代码是被GPL-3.0所授权。默认情况下,在发布源代码时加入机器可读许可证说明是很重要的。 GPL(GNU General Public License Versions) GPL协议一般还可以分为GPL2.0和GPL3.0两种,而GPL3.0是更新一代的开源标准

    2024年02月02日
    浏览(34)
  • 智能合约 Solidity – 构造函数

    构造函数是任何面向对象的编程语言中的一种特殊方法,每当初始化类的对象时都会调用它。Solidity 则完全不同,Solidity 在智能合约内部提供了一个构造函数声明,它只在合约部署时调用一次,用于初始化合约状态。如果没有明确定义的构造函数,则编译器会创建默认构造函

    2024年02月11日
    浏览(34)
  • Solidity智能合约开发 — 3.4-抽象智能合约和接口

    假如一个智能合约中至少一个函数缺省实现时,即某个函数缺少{}中的内容,这个智能合约就当做抽象智能合约。 当我们有一个函数没想好怎么写时,必须将该合约标为 abstract ,不然编译会报错;另外,未实现的函数需要加 virtual ,以便子合约重写。抽象智能合约是将智能合

    2024年02月12日
    浏览(33)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包