自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (2)
  • 收藏
  • 关注

原创 solidity抽象(abstract)合约(很常用)

当合约中至少有一个函数没有被实现,或者合约没有为其所有的基本合约构造函数提供参数时, 合约必须被标记为 abstract。即使不是这种情况,合约仍然可以被标记为 abstract, 例如,当您不打算直接创建合约时。抽象(abstract)合约类似于 接口(interface)合约, 但是接口(interface)合约可以声明的内容更加有限。通俗解释抽象合约是一种至少包含一个未被实现(即没有函数体的)函数的合约。这种合约不能直接部署到以太坊网络上,因为它不是完整定义的。抽象合约通常作为基础合约,为派生合约提供

2024-08-01 15:43:08 389

原创 solidity时间单位(基础很重要)

诸如 seconds, minutes, hours, days 和 weeks 等 后缀在字面常数后面,可以用来指定时间单位,其中秒是基本单位,单位的考虑方式很直白:这些后缀单位不能应用于变量。例如, 如果您想用时间单位(例如 days)来将输入变量换算为时间,您可以用以下方式:小试一下 - 锁定资金实现一个存取款合约, 存款后,30 秒内不可以取出

2024-08-10 17:09:19 408

原创 solidity 以太坊(Ether) 单位(很基础)

一个字面常数可以带一个后缀 wei, gwei 或 ether 来指定一个以太坊的数量, 其中没有后缀的以太数字被认为单位是wei。在以太坊和许多其他基于以太坊的区块链系统中,以太币(Ether)是网络中的主要加密货币。以太可以被划分为更小的单位,这些单位使得交易可以以不同的粒度进行。这些单位从最小的wei到最大的ether,其中每个单位都比前一个单位大1,000,000,000(十亿)倍。这些单位的使用允许用户在进行交易和智能合约操作时指定非常精确的金额。

2024-08-10 17:07:08 438

原创 solidity 数学和密码学函数

计算 (x + y) % k,加法会在任意精度下执行,并且加法的结果即使超过 2**256 也不会被截取。计算 (x * y) % k,乘法会在任意精度下执行,并且乘法的结果即使超过 2**256 也不会被截取。从 0.5.0 版本的编译器开始会加入对 k!= 0 的校验(assert)。从 0.5.0 版本的编译器开始会加入对 k!= 0 的校验(assert)。计算输入的 Keccak-256 哈希值。计算输入的 RIPEMD-160 哈希值。

2024-08-07 17:23:59 347

原创 solidity 特殊函数

当以太被直接发送到一个合约(没有使用函数调用,即发送者使用 send 或 transfer), 但接收合约没有定义一个接收以太的函数或一个 payable 类型的 fallback 函数,会抛出一个异常, 将以太送回(这在Solidity v0.4.0之前是不同的)。因此,如果您想让您的合约接收以太, 您必须实现一个 receive 函数(不建议使用 payable 类型的 fallback 函数来接收以太, 因为它不会因为接口混乱而失败)。函数,但合约收到了以太币,转账将失败,除非合约有一个。

2024-08-07 17:20:23 523

原创 solidity异常俘获(非常实用)

用于捕获并处理合约调用或创建过程中可能发生的异常。但只适用于和合约创建调用。可以使用来创建错误。英语部分接住;抓住,握住;逮住,捕获;错误Panic 恐慌,惊慌;人心惶惶,惶恐不安;忙乱,慌乱;粟,稷,糜子。

2024-08-06 10:19:41 380

原创 solidity合约销毁(带销毁例子很常见)

智能合约可以被“销毁”,在Solidity中,这通常是通过使用函数实现的。是一个低级操作,当它被调用时,合约的代码和存储将从区块链上被移除,而且这个操作是不可逆的。调用时还会将合约中剩余的以太币(Ether)发送到指定的地址。使用可以释放区块链上的空间,从而降低了以太坊的状态大小,并且能够返还一部分gas费用。不过,由于的不可逆性和潜在的安全风险,建议谨慎使用这个功能。英语部分自毁。

2024-08-05 09:19:47 813

原创 solidity 扩展指令Using For(存取款事例)

指令 using A for B 可用于将函数( A) 作为运算符附加到用户定义的值类型 或作为成员函数附加到任何类型( B)。成员函数将调用它们的对象作为第一个参数 (类似于 Python 中的 self 变量)。运算符函数将接收操作数作为参数。一个函数列表,可选择分配运算符名称 (例如 using {f, g as +, h, L.t} for uint)。如果未指定运算符,则该函数可以是库函数或自由函数, 并将其作为成员函数附加到类型。否则,它必须是一个自由函数,并成为该类型上该运算符的定义。

2024-08-05 09:14:25 955

原创 solidity ERC-20(非常重要)

ERC-20是一种在以太坊区块链上定义代币标准的技术规范。"ERC"代表Ethereum Request for Comments,而“20”是该提案的编号。自从2015年发布以来,ERC-20已经成为创建代币的事实标准,特别是那些需要与其他智能合约和应用程序互操作的代币。

2024-08-02 10:07:11 320

原创 solidity 库(library)合约(从声明到使用)

库合约与普通合约类似,但是它们只需要在特定的地址部署一次, 并且它们的代码可以通过 EVM 的 DELEGATECALL (Homestead 之前使用 CALLCODE 关键字)特性进行重用。这意味着如果库函数被调用,它的代码在调用合约的上下文中执行, 即 this 指向调用合约,特别是可以访问调用合约的存储。因为每个库合约都是一段独立的代码,所以它仅能访问调用合约明确提供的状态变量(否则它就无法通过名字访问这些变量)。

2024-08-02 10:06:44 335

原创 solidity合约组件(很重要)

合约组件、共同提供了一套强大的工具集,使得开发者能够以模块化、安全和高效的方式构建复杂的智能合约系统。每种组件在智能合约的设计和实现中扮演着特定的角色,有助于提高代码的可读性、可维护性和可扩展性。合约复杂度高可能增加Gas成本,但继承合约的实现影响Gas成本。但实现接口的合约影响Gas成本。但可以访问调用它的合约的状态。修改器(Modifiers)可以定义,由调用它的合约触发。定义合约之间的标准化交互接口。但可以在调用它的合约中使用。用于操作调用它的合约的数据。可直接实例化为独立的合约。

2024-08-01 14:37:09 1044

原创 solidity多态【很重要】

多态是面向对象编程(OOP)的一个核心概念,允许不同类的对象被视为同一类型的实例,并根据实际类型来响应相同的方法调用。这意味着同一个接口可以用来引用属于不同类的对象,而这些对象可以有自己的方法实现,这些实现可以在运行时被动态地调用,而不是在编译时。多态性增加了程序的灵活性和可扩展性。这意味着在编译时就确定了将要执行哪个方法,通常依赖于方法的参数列表(方法的名称相同,但参数的数量或类型不同)。在同一个类中定义多个同名方法,但是它们的参数列表不同(参数的数量或类型不同)。

2024-08-01 14:27:34 912

原创 Solidity继承的语法

假设你有一个基本合约,你想创建一个新的合约,它继承自。这可以通过使用关键字实现。

2024-07-31 16:05:11 251

原创 solidity基础数据类型(很常用)

类型在Solidity中是动态大小的,这意味着它们可以存储任意长度的字符串,但这也意味着处理字符串通常比处理固定大小的数据类型更昂贵,特别是在需要存储到Ethereum区块链上时。●Solidity中的字符串是不可变的,这意味着一旦字符串被创建,你就不能修改它的内容。可以例如,最简单的字符串操作,将 2 个字符串合并,在Solidity 中都没办法直接通过+号合并,甚至你都不能直接获取字符串的长度。算数运算符: +, -, 一元运算 - (只适用于有符号的整数), *, /, % (取余), ** (幂)

2024-07-30 17:48:38 1263

原创 solidity检查或不检查的算术

"检查"和"不检查"的算术指的是如何处理算术运算(如加法、减法、乘法等)过程中的上溢和下溢问题。上溢发生在结果超出了变量类型能表示的最大值时,而下溢发生在结果低于变量类型能表示的最小值时。在Solidity 0.8.0之前,合约开发者需要手动检查这些条件以防止上溢和下溢。然而,从Solidity 0.8.0开始,默认情况下所有的算术运算都是"检查的"(checked),这意味着如果运算导致上溢或下溢,合约会自动抛出一个错误,阻止不安全的运算。

2024-07-30 17:05:15 284

原创 solidity变量作用域

Solidity 中的作用域规则遵循了 C99(与其他很多语言一样): 变量将会从它们被声明之后可见,直到一对 { } 块的结束。对于参数的变量(函数参数、修改器参数、捕获(catch)参数......) 在后面的代码块中是可见的--这一规则有个例外,在 for 循环语句中初始化的变量,其可见性仅维持到 for 循环的结束。对于函数和修改器参数,在函数/修改器的主体中,对于捕获参数,在捕获块中。

2024-07-30 16:41:41 229

原创 solidity变量初始值

对于静态大小的数组和 bytes1 到 bytes32, 每个单独的元素将被初始化为与其类型相应的默认值。)类型的变量在技术上没有"初始化"的概念,因为它们实际上是在虚拟的、无限的键空间中工作的。映射类型本身没有默认值,但访问任何未设置的键将返回值类型的默认值。一个被声明的变量将有一个初始默认值,其字节表示为所有的零。访问任何未显式设置的键时,映射将返回该值类型的默认值。变量的 "默认值" 是任何类型的典型 "零状态"。类型的变量,如果尝试访问一个未设置的地址键,将返回。动态大小的字节序列,默认为空。

2024-07-30 16:39:39 171

原创 solidity合约创建

合约可以通过使用关键字来创建其他合约的实例。这个过程会执行被创建合约的构造函数(如果存在的话),并返回一个指向新创建合约的地址的引用。这种方式允许智能合约动态地在区块链上部署新合约,并与它们交互。

2024-07-30 16:18:40 412

原创 solidity: view和pure关键字

用于声明函数是视图函数,即函数不修改合约的状态变量,但可以读取合约的状态。视图函数用于查询合约状态或计算结果,而不会改变合约的状态。:用于声明函数是纯函数,即函数不读取或修改合约的状态变量,并且不与外部合约进行交互。纯函数只根据输入参数计算结果,并返回一个值。关键字用于在 Solidity 中声明函数的属性,以提供更好的代码可读性、约束和优化。这些修饰符有助于更清晰地定义和理解函数的行为和用途。是函数修饰符关键字,用于声明函数的属性和行为。Solidity 中的。

2024-07-27 13:52:39 461

原创 Mac m1 安装rabbitmq+php-amqplib

rabbitmq 官方地址 https://www.rabbitmq.com。二.php代码 用composer 安装。一.这里我选择 homebrew。

2023-09-06 14:16:53 688 1

原创 解决“npm WARN requires a peer of XXX“问题

在NodeJs开发中,往往需要安装各种依赖包,而有时候这些依赖包版本更新了或者改成了另外一个包名,导致npm install会报“requires a peer of XXX”之类的warning。解决方法,就是缺啥就补啥,命令如下:npm install --save-dev "XXX"...

2021-10-09 09:48:16 3430

原创 给应用程序的apk加签名文件

使用jarsigner命令:最好将将要签名的apk和签名文件keystore放在同一目录下。在当前目录下打开命令行输入 jarsigner -verbose -keystore **.keystore(签名文件) -signedjar xxx.apk(签名后生成的apk名字) ***.apk(要被签名的apk) ***(签名文件中的别名以前翻阅别人文档的时候 他们好多都错将以上命令行的最后一个参数输入称签名文件,其实是签名文件里面的别名。jarsigner -verbose -keystor.

2021-09-27 19:16:05 560

原创 uni-app自动引入多个全局组件“easycom”

传统vue组件,需要安装、引用、注册,三个步骤后才能使用组件。easycom将其精简为一步。只要组件安装在项目的components目录下或uni_modules目录下,并符合components/组件名称/组件名称.vue目录结构。就可以不用引用、注册,直接在页面中使用。比如前述举例的uni-rate组件,它导入到uni-app项目后,存放在了目录/components/uni-rate/uni-rate.vue同时它的组件名称也叫uni-rate,所以这样的组件,不用在script里注册和引

2021-09-23 16:34:25 3481

原创 MAC系统快速搭建MAMP 环境下安装Redis扩展

1 .在命令行查看PHP版本2.在命令行里用whichphp查看一下现在的哪个php,mamp 工具切换一下PHP版本如图说明就是mamp的php环境了.如果不是,手工执行一下source~/.profilemamp的每个PHP环境都自带了pcel,可通过pcel来安装redis扩展(安装其它扩展也一样) pecl install redis 所有选项默认,一路回车 完成后,编辑php.ini,添加 extsion=red...

2021-09-03 14:20:51 529

原创 Yaconf - 一个高性能的配置管理扩展

这个项目其实不是一个新的idea, 这个是我在来微博以后, 第一个优化项目中顺手做的一个小工具, 本身叫做Weibo_Conf. 但是因为Weibo_Conf是属于Weibo扩展的, 里面还有一些其他功能是专门为Weibo定制的. 所以不适合直接开源.随着PHP7的发布, 新增了很多持久化类型的支持比如IS_IMMUTABLE_ARRAY, 于是我就在PHP7下重新开发了Yaconf, 开源出来, 方便大家使用.你也可以在PECL中直接安装,以及下载windows下的dll: Yaconf pa.

2021-08-10 14:33:11 169

原创 快速编写一个消息列表组件 uniapp篇

快速编写一个消息列表组件 uniapp篇首先创建一个消息列表页面 msg,vue编写好页面样式<template> <view> <template v-if="list.length >0 "> <block v-for="(item,index) in list" :key="index"> <msg-list :item="item" :index="index"></msg-list>

2020-07-08 14:57:09 3293 1

原创 下拉刷新功能实现 uniapp篇

下拉刷新功能实现首先 配置 page,json 某个页面 开启下拉刷新 参数“enablePullDownRefresh”:true, 加粗文本//监听下拉刷新 onPullDownRefresh() { this.refresh() }, methods: { //下拉刷新 refresh(){ setTimeout(()=>{ this.list = demo //停止下拉刷新 uni.stopPullDownRefres

2020-07-08 14:39:49 1430

原创 1分钟对接好个人支付宝扫码支付,史上最详细教程最简单教程

1分钟对接好个人支付宝扫码支付,史上最详细教程最简单教程1分钟对接好个人支付宝扫码支付,史上最详细教程最简单教程登录 https://alipay.taoshejia.com/ 注册好账号1分钟对接好个人支付宝扫码支付,史上最详细教程最简单教程对接支付宝支付接口,官方文档已经写的很清楚了,但是也有很多个人站长或者刚接触的小白,第一次对接支付宝支付接口,会有些迷茫,所以我在此写下这篇文章,一点思路吧。一分钟就可以申请登录 https://alipay.taoshejia.com/ 注册好账号申

2020-07-07 10:46:27 5630 1

原创 Spring框架真的很难学?

作为一个程序员,不管你是刚入门的新手、还是刚入职场的菜鸟,想要学好Spring,首先就要明确什么是Spring,它能帮我们做什么,解决什么样的问题,在了解了这些之后呢,我们自然而然就知道怎么使用Spring了。Spring的核心就是IOC容器,但是我们不能简单的说他就是一个容器。我们需要知道如何配置使用这个容器,Spring的其他技术,都是在这个容器的基础之上实现的。其次,就是AOP,面向切...

2019-02-24 01:26:18 12155 1

原创 Spring容器中Bean的生命周期(流程图,非常详细,代码实例)

Spring作为当前Java最流行、最强大的轻量级框架,受到了程序员的热烈欢迎。准确的了解Spring Bean的生命周期是非常必要的。我们通常使用ApplicationContext作为Spring容器。这里,我们讲的也是 ApplicationContext中Bean的生命周期。而实际上BeanFactory也是差不多的,只不过处理器需要手动注册。一、生命周期流程图:Spring 从初始...

2019-02-23 23:45:07 1588

原创 Spring Bean到底是什么?有什么用?

Spring Bean是什么?有什么用?Bean在Spring和SpringMVC中随处可见,将这个概念内化很重要,下面分享一下我的想法:一、Bean到底是什么?二.怎么使用bean?Bean配置Bean的作用域Bean在Spring和SpringMVC中随处可见,将这个概念内化很重要,下面分享一下我的想法:一、Bean到底是什么?我个人的理解,觉得bean就相当于定义一个组件,这个组件是用...

2019-02-23 22:41:56 27558 4

MAMP PRO v5.7.dmg

MAMP PRO Mac是Mac os系统上搭建本地服务器环境的组合软件套装,包含Macintosh、Apache、MySQL和PHP四大开发环境。

2021-04-09

2020T5友价商城源码系统nginx伪静态重写规则.zip

精仿互站网友价T5虚拟商城源码带微信支付宝支付自动发货源码带手机WAP版,动手能力强的可以拿去改改,内核很完整,带域名交易,源码交易,任务需求等功能

2020-10-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除