智能合约开发(1)

准备:

  • 注册智能合约在线开发平台,用于solidity语言的智能合约开发。
  • 在浏览器上安装metamask钱包插件,并注册账号

以太坊智能合约平台地址:
https://remix.ethereum.org
4小时速成solidity开发教程
https://www.youtube.com/watch?v=AYpftDFiIgk

基础知识:

智能合约和python一样,也可以导入库,
以下是一些常用的智能合约库,

  • ERC-20(Ethereum Request for Comments 20):是以太坊区块链上的一种通用标准,用于发行代币,规定了代币合约应该遵循的一些基本功能,包括代币的转账、余额查询、代币的总供应量等。但是随着发展发现ERC20功能仍不全面,缺少对代币地销毁等功能,因此需要与其他合约共同使用,如ERC20Burnable.sol

  • ERC-721:主要用于创建独特、不可替代的代币,通常被称为非同质化代币(NFTs,Non-Fungible
    Tokens)。每一个ERC-721代币都有独一无二的属性,使其适用于代表数字资产、艺术品、游戏物品等具有唯一性的资产。

  • Ownable.sol:目的是为智能合约提供拥有者(Owner)的概念,并定义了与拥有者相关的权限控制机制,主要有三个功能,合约所有权确认,合约权限管理,合约所有权转移

库的导入地址:

//导入ERC20
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol";
import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol";
//导入erc721
import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
//导入ownable.sol
import "@openzeppelin/contracts/access/Ownable.sol";

后续会写一个基于ERC20和ownable的代币例程,包括代币铸造,转账和销毁功能,并确保合约owner的权限,
预计1月7号更新在《智能合约开发(2)》里

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/595523.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring中Autowired原理

1. 构造方法参数Autowire BeanClass可以在构造方法上标注Autowired注解,Spring在创建Bean实例时将自动为其注入依赖参数;Spring会优先使用标注Autowired注解的构造方法;当一个构造方法标注了Autowired注解且requiredtrue时,其余构…

【占用网络】VoxFormer 基于视觉的3D语义场景方案 CVPR 2023

前言 本文分享“占用网络”方案中,来自CVPR2023的VoxFormer,它基于视觉实现3D语义场景补全。 使用Deformable Attention从图像数据中,预测三维空间中的体素占用情况和类别信息。 VoxFromer是一个两阶段的框架: 第一个阶段&…

理解UML中的依赖关系

理解UML中的依赖关系 在面向对象的设计中,理解各种类之间的关系对于构建一个清晰、可维护的系统至关重要。UML(统一建模语言)为我们提供了一种可视化这些关系的方式。今天,我们将深入探讨UML中的依赖关系(Dependency&a…

苹果Vision Pro将于1月27日上市!

在无数期待中,苹果全新产品Vision Pro头显终于定下上市日期。 彭博社记者马克古曼(Mark Gurman)于近日在X(前推特)平台爆料了这一信息,预计苹果Vision Pro头显将于2024年1月27日率先在美国上市。 在过去看…

力扣92. 反转链表 II

链表 思路: 使用一个 dummy 指针迭代到 left;然后反转 (right - left) 个 node;之后将剩余的 node 继续串起来即可; class Solution { public:ListNode *reverseBetween(ListNode *head, int left, int right) {// 设置 dummyNo…

【QT】QString类型中,Empty和NULL有什么区别在qt里,对比C#

在 Qt 中,QString 类型的字符串使用 isEmpty() 方法来检查字符串是否为空,而不是使用 null。这与 C# 中的 string.IsNullOrEmpty 方法略有不同。 QString::isEmpty(): 用于检查字符串是否为空。一个 QString 对象可能是空字符串,即…

如何计算非线性负载的功率需求?

非线性负载的功率需求计算是一个相对复杂的过程,因为非线性负载的电流和电压之间的关系不是简单的正比关系。在计算非线性负载的功率需求时,需要考虑负载的特性、工作状态以及电源电压等因素。 确定负载的类型:首先需要了解负载的具体类型&am…

客户端、服务端在一个c++程序里

一个项目,同时包含客户端、服务端的设计模式称为双工/双端模式。 这种设计模式下,程序具有同时作为客户端和服务端的功能,可以与其他程序通信,并作为服务端接收其他程序的请求。 若开发双工模式的系统,需具备以下内容…

【C语言】浙大版C语言程序设计(第三版) 练习7-4 找出不是两个数组共有的元素

前言 最近在学习浙大版的《C语言程序设计》(第三版)教材,同步在PTA平台上做对应的练习题。这道练习题花了比较长的时间,于是就写篇博文记录一下我的算法和代码。 2024.01.03 题目 练习7-4 找出不是两个数组共有的元素 作者 张彤…

BIO、NIO

网络通信基本常识 什么是socket? socket 是应用层与 TCP/P 协议族通信的中间软件抽象层,它是一组接口,主机A 的应用程序要能和主机B 的应用程序通信,必须通过 Socket 建立连接。 短连接 SOCKET 连接发送完数据后马上断开连接 长连接 建…

RocketMQ单机部署完整学习笔记

文章目录 前言一、RocketMQ是什么?二、使用步骤1.安装MQ1.安装JDK2.安装mq3.MQ配置(核心) 2.搭建可视化dashboard1.下载源码2.修改配置3.启动 3.整合java1.生产者2.消费者3.启动生产者4.启动消费者5.dashboard添加消费组 三、总结全部的配置 前言 本文是基于4.X版本…

静态网页设计——电影角(HTML+CSS+JavaScript)

前言 声明:该文章只是做技术分享,若侵权请联系我删除。!! 使用技术:HTMLCSSJS 主要内容:本网页主要利用HTML语言编写,简要介绍世界上一些主要国家,例如,中,…

K8S三种发布方式和声明式资源管理

蓝绿发布 把应用服务集群标记位两个组,蓝组和绿组,先升级蓝组,先要把蓝组从负载均衡当中移除,绿组继续提供服务,蓝组升级完毕,再把绿组从负载均衡当中移除,绿组升级,然后都加入回负载…

【已解决】You have an error in your SQL syntax

报错讯息 java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘desc,target_url,sort,status,create_by,modify_by,created,last_update_time FROM…

跑通CLAM

项目场景: 从github上下载CLAM代码,上传Camelyon-16中的部分WSI图像,将代码跑通。 CLAM项目地址: GitHub - mahmoodlab/CLAM: Data-efficient and weakly supervised computational pathology on whole slide images - Nature …

Linux中经常使用的相关命令

查看硬盘存储容量使用情况: df -lh 列出 /bin 目录中的 5 个最大文件: ls -lSh /bin | head -5 删除文件和文件夹 在Linux中,要删除文件的命令是rm。你可以使用以下命令来删除一个文件: rm file_name如果要删除多个文件,可…

如何读取excel任意单元格内容的代码(vba,py)

如何读取excel任意单元格内容的代码 ━━━━━━━━━━━━━━━━━━━━━━ 你可以使用 VBScript(VBS)来读取 Excel 文件中的任意单元格内容。以下是一个简单的 VBScript 代码示例,使用 CreateObject 来操作 Excel 应用程序&#xff…

Tomcat系统架构与原理剖析及手写Tomcat及源码导入学习

文章目录 1 Tomcat官网2 Tomcat **系统架构与原理剖析**2.1 浏览器访问服务器的流程2.2 **Tomcat** **系统总体架构****2.2.1 Tomcat** **请求处理⼤致过程**2.2.2 **Tomcat Servlet**容器处理流程2.2.3 **Tomcat** 系统总体架构2.3 **Tomcat** **连接器组件** Coyote2.4 **Tom…

高级RAG(四):RAGAs评估

之前我完成了父文档检索器和llamaIndex从小到大的检索这两篇博客,我在这两篇博客中分别介绍了使用langchain和llamaIndex进行文档检索的方法和步骤,其中包含了不同的RAG的检索策略,通常来说一个典型的RAG系统一般包含两个主要的部件&#xff…

程序媛的mac修炼手册--MacOS系统更新升级史

啊,我这个口罩三年从未感染过新冠的天选免疫王,却被支原体击倒😷大意了,前几天去医院体检,刚检查完出医院就摘口罩了🤦大伙儿还是要注意戴口罩,保重身体啊!身体欠恙,就闲…