Solidity智能合约零基础开发教程
文章平均质量分 85
Solidity 是 Ethereum 的一种契约型编程语言,其语法与 JavaScript 类似,并且旨在定位到 Ethereum 虚拟机。
Solidity 是静态类型的,支持继承、库和用户自定义类型以及其他功能。可以用来创建投票、众筹、盲拍、多签名钱包等合同。
区块链(Web3)开发工程师
全栈工程师、区块链开发工程师、智能合约开发工程、Web3.0工程师
精通Wallet、Token、NFT、Exchange、DEFI、DAPP(web3开发)、智能合约、Gamefi、元宇宙开发。
大家有任何需要,欢迎私信或评论联系我!
展开
-
【区块链 | Solidity】Solidity开发教程:用Web3.js构建第一个Dapp
Web3.js 使用的实用介绍欢迎订阅系列文章。如果你一直在跟着这个系列学习,那么你已经掌握了编写自己的智能合约。因此,今天给大家介绍一下构建去中心化应用的全貌,并向大家介绍一下,这是构建dapp不可缺失部分。在深入了解web3.js是什么以及它的工作原理之前,我想先回答一个简单的问题 - 为什么选择web3.js?来开启这个话题:图片来源:去中心化应用有三个主要组成部分。现在的问题是如何用JavaScript 在前端与智能合约交互。原创 2022-10-24 11:02:30 · 1842 阅读 · 0 评论 -
【区块链 | Solidity】跟我学 Solidity(7):事件
如何使用事件记录数据欢迎订阅系列文章。在今天的文章中,我们将看到如何使用web3.js从区块链中读取事件。Solidity中的事件就像你习惯于使用其他语言的日志记录功能一样,只是日志不是记录到控制台或文件,而是保存在以太坊区块链中。原创 2022-10-24 11:00:18 · 1172 阅读 · 0 评论 -
【区块链 | Solidity】跟我学 Solidity(6):工厂模式
工厂模式的想法是拥有一个合约(工厂),该合约将承担创建其他合约的任务。在基于类的编程中,此模式的主要动机来自单一职责原则(一个类不需要知道如何创建其他类的实例),并且该模式为构造函数提供了一种抽象。图片来自Wikipedia.原创 2022-10-17 08:50:32 · 469 阅读 · 0 评论 -
【区块链 | Solidity】跟我学 Solidity(5):函数合约的创建和继承
如何在合约里创建合约欢迎阅读“跟我学 Solidity ”系列中的又一篇文章。在,我们看到了如何使用函数,并运用了到目前为止所学到的一切来构建一个多签名钱包。在本文中,我们将看到如何从一个合约中创建另一个合约,以及如何定义抽象合约和接口。原创 2022-10-17 08:45:47 · 476 阅读 · 0 评论 -
【区块链 | Solidity】跟我学 Solidity(4):函数
如何在Solidity中使用函数上一篇文章,今天,我将介绍函数和修饰符,在本文结尾还提供一个练习:构建多重签名钱包,在练习中可以重温学习的内容。它们可以在合约内部编写,也可以是自由函数(写在合约外)。原创 2022-10-17 08:43:16 · 227 阅读 · 0 评论 -
【区块链 | Solidity】跟我学 Solidity(3):引用变量
引用类型,应明确指定数据位置欢迎阅读系列中的另一篇文章。在memory,storage和calldata。在本文中,我们将继续学习Solidity中的变量。这次,我们将重点放在引用类型上,该引用类型应显式指定数据位置,正如我们在前几篇文章中提到的那样。我们还将看到如何定义映射,枚举和常量。原创 2022-10-09 14:30:38 · 183 阅读 · 0 评论 -
【区块链 | Solidity】跟我学 Solidity(2):变量的存储
Solidity 数据存储如何工作?欢迎阅读“跟我学习 Solidity ”系列中的另一篇文章。正如我在中保证过,我们将看到Solidity中数据存储的工作方式。原创 2022-10-09 13:30:18 · 164 阅读 · 0 评论 -
【区块链 | Solidity】跟我学 Solidity(1):开发环境
跟我学习 Solidity 第一篇。原创 2022-10-09 13:25:27 · 660 阅读 · 0 评论 -
【区块链 | Solidity】区块链抢红包代码,基于Solidity的抢红包代码
题目参考:solidity抢红包合约的实现_tzy577的博客-CSDN博客4.总结本人为代码小白(刚开始学solidity,求交流和学习途径)+蹩脚英语,目前随机数采用很简单粗暴的途径,也没有对uint256溢出问题进行保护,代码也没有完全参考题目,欢迎各位对代码进行测试,反应存在问题,一起学习交流,谢谢!转载 2022-10-08 10:04:37 · 311 阅读 · 0 评论 -
【区块链 | Solidity】以太坊Solidity如何实现海量空投代币?
通证token项目启动时,短期内繁荣生态,要舍得给粉丝们打币,把利益分出去。本文聚焦在技术层面,实现如何快速完成TOKEN海量空投,既要节约时间,又要节省TOKEN费用。原创 2022-09-21 16:17:14 · 949 阅读 · 0 评论 -
【区块链 | example】学习这30个以太坊开发示例,让你成为80万都挖不走的区块链人才!
如果你想更加快速地学习Solidity,学习以太坊,学习区块链,你确实需要成为社区中的一员,这是十分有效且有趣的学习方式。,比如文档中关于智能合约的介绍Introduction to Smart Contracts ,还是要提醒你,在整个学习过程中,一定要做笔记,做笔记!,我切身体会到了加密TOkkken的狂热,急切需要一种平衡,急切停止这种狂热行为,我最终选择了离开,大概四五个月的时间吧。在社区中积极发言,提出问题,分享建议,甚至与 V神互动,可以支持他,也可以怼他(切记要有理有据)!原创 2022-09-06 13:40:33 · 577 阅读 · 0 评论 -
【区块链 | Solidity】您应该查看的 18 个 Solidity GitHub 存储库-智能合约
虽然您可以在不同的区块链上部署智能合约或称为 dApp 的类似应用程序,但 Solidity 是一个绝佳的起点。Hardhat 是一个用于编译、部署、测试和调试以太坊软件的开发环境。OpenZeppelin Contract 是一个用于安全智能合约开发的库。SolidState 是一个可升级的优先 Solidity 智能合约开发库。针对以太坊虚拟机的智能合约的基于 Python 的开发和测试框架。精选的 Solidity 资源、库、工具等的精选列表。Solidity 编程语言示例,以太坊的智能合约。原创 2022-09-06 10:49:21 · 587 阅读 · 0 评论 -
【区块链 | Solidity】Solidity优化-减少合约gas消耗
目录背景减少 gas 消耗的方法1、编译合约时使用优化器2、SSTORE 指令3、变量存储原则4、选择变量数据类型5、紧凑状态变量打包6、紧凑状态变量赋值7、内联汇编打包变量8、无需使用默认值初始化变量9、常量10、函数修饰符11、避免重复修改状态变量12、使用短路规则13、布尔类型14、默克尔树15、压缩交易输入数据16、调用外部合约17、状态变量重复读取18、操作合约和数据合约分离19、将复杂的计算逻辑放在链下20、尽量使用批量操作 在以太坊系公链中,合约部署和调用是需要发送交易并消耗 gas 的,而原创 2022-06-17 10:28:38 · 621 阅读 · 0 评论 -
【区块链 | NFT】NFT游戏怎么开发?详细的开发指南来了【2022】
本文适用于有开发创建 NFT 游戏的想法并希望大致了解所需流程和工具的人。我们不会详细介绍每种编程语言, 但我们会链接重要资源并提供有关NFT游戏开发的全景视角。目录1、NFT 及其标准2、2021 NFT 和 NFT 游戏的兴起3、开发指南第 1 步:NFT游戏设计第 2 步:NFT游戏开发第 3 步:NFT游戏测试第 4 步:NFT游戏部署和推广1、NFT 及其标准NFT代表 Non-Fungible Tokens,根据定义,它是不可替代的,这意味着它.原创 2022-04-13 15:53:10 · 5852 阅读 · 0 评论 -
【区块链 | Solidity】ERC-1155多重代币剖析与实战
目录1、什么是ERC-1155?2、ERC-1155功能和特点3、ERC-1155批量转账4、ERC-1155批量查询余额5、ERC-1155批量授权6、EIP-165支持7、EIP-1155的接收钩子8、ERC-1155 非同质化代币支持9、ERC-1155安全转账规则10、基于ERC-1155的航空代币实现ERC-1155是ERC-20和ERC-721的升级规范,它允许在一个交易中发送多种不同的代币,就像同时转账人民币和美元。 ERC-1155以在区块链游戏中原创 2022-04-13 15:25:06 · 1101 阅读 · 0 评论 -
【区块链 | 以太坊】使用Truffle+OpenZeppelin编写代币示例合约
Tutorialtoken Box项目地址:http://truffleframework.com/boxes/tutorialtokenTutorialtoken Box官方教程:http://truffleframework.com/tutorials/robust-smart-contracts-with-openzeppelin原文:OpenZeppelin集成Truffle编写健壮安全的合约作者: TRYBLOCKCHAIN本文在原文基于Truffle Box中的Tutorialto原创 2022-03-23 13:23:32 · 795 阅读 · 0 评论 -
【区块链 | 数据上链】星火链网、蚂蚁联盟链等区块链业务系统开发指南
区块链业务系统开发指南一、区块链简介区块链,就是一个又一个区块组成的链条。每一个区块中保存了一定的信息,它们按照各自产生的时间顺序连接成链条。这个链条被保存在所有的服务器中,只要整个系统中有一台服务器可以工作,整条区块链就是安全的。这些服务器在区块链系统中被称为节点,它们为整个区块链系统提供存储空间和算力支持。如果要修改区块链中的信息,必须征得半数以上节点的同意并修改所有节点中的信息,而这些节点通常掌握在不同的主体手中,因此篡改区块链中的信息是一件极其困难的事。相比于传统的网络,区块链原创 2022-03-16 14:20:15 · 6724 阅读 · 9 评论 -
【智能合约】js解析智能合约Solidity返回的struct
前言Solidity是以太坊智能合约的编程语言,我们可以通过web3.js来与合约进行通信,并接收Solidity函数的返回值。不少人在接收struct类型的返回值时不知道怎么处理,本文展示一种解析方法,以供各位学习交流,如有更好的方法,欢迎讨论。#Solidity返回的struct首先看solidity代码,截取了关键部分,定义了一个结构体以及一个id到结构体的映射,该映射为public,意味着会自动生成getter函数。 struct Status{ string s转载 2021-12-14 18:36:20 · 933 阅读 · 0 评论 -
【智能合约】solidity 合约函数返回strcut(结构)或结构数组
前言在solidity 0.4 时代,是不支持返回struct的。但现在solidity已经进入了0.8的版本,这个版本是支持直接返回struct与struct array的,以下为具体做法。代码示例// SPDX-License-Identifier: GPL-3.0pragma solidity >=0.7.0 <0.9.0;contract ContractFactory { struct User { uint256 id;原创 2021-12-14 18:31:57 · 7079 阅读 · 0 评论