自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 收藏
  • 关注

原创 区块链 -- 什么是叔父块?

叔叔块是网络拒绝的有效块。叔叔块类似于比特币中的过时块,但不是被忽略,而是根据它们的新旧程度授予奖励,最高奖励为4.375 ETH。主链中的每个块最多可以引用两个叔块,每个叔叔块都会获得1/32的整个块奖励。叔块和孤块之间的区别在于以太坊网络会奖励它的叔块矿工,而比特币网络则不会赔偿/奖励孤块矿工。当节点传播块的速度比大型矿池慢时,过时块更常见,从而导致更多的叔叔块。当主链块的矿工引用叔块时,主链块的矿工和叔块的矿工都会获得额外的奖励。叔叔块奖励是授予创建叔叔块并包含在添加到链中的有效块中的矿工的奖励。

2023-05-28 22:00:33 1906

原创 Solidity中的可支付函数是什么?

要理解这为什么很重要,想象一下如果有人将ether发送到一个合约中,但开发人员没有编写代码处理该事件,那将会有多糟糕。在Solidity中,可支付函数是一种能让智能合约接受以太币的函数。这适用于用户直接调用智能合约的情况,也适用于智能合约调用另一个智能合约的情况(内部交易)。学习Solidity中可支付函数的相关知识,了解它们在处理以太币存款方面的重要性,以及如何在智能合约中创建和使用它们。例如,如果这是一个可支付的智能合约,由慈善机构控制,接受加密货币捐款,也许用户只需调用 deposit。

2023-05-24 23:18:17 728

原创 什么是智能合约存储布局?

的概念是区块链所特有的,因为在智能合约中工作时,通过区块链的加密封存属性,存储的数据是无法篡改的。在我们有一组逻辑上属于一起的变量并且经常作为一个单元进行读写的情况下,我们可以通过Solidity的struct关键字定义一个用户定义的类型,并应用上述字节打包的知识,以获得最有效的燃气使用,以便在存储变量的使用和读写方面进行优化。函数使用的数据需要存储在计算机的内存中。通过使用标记插槽的keccak256哈希,我们可以利用巨大的虚拟存储区域来存储变量,而不会出现动态大小的变量增长并与其他状态变量重叠的风险。

2023-05-23 23:18:11 771 1

原创 以太坊事务状态 - Pending, Mined, Dropped & Replaced

简单来说,内存池是节点中未确认交易的暂存区。也就是说,如果一个地址没有已确认的交易,它会将第一笔交易标记为 0 的 nonce,并将希望发送的后续交易标记为 1 的 nonce。如果第二个交易被确认到区块链上(例如通过发送一个具有相同nonce和更高gas价格的新交易),那么“被拒绝”的交易将被移动到新的交易状态类别,即“Dropped & Replaced”。然而,如果在创建哈希事务之前设置唯一的nonce,它将防止重放攻击,因为每个确认的交易必须具有唯一的nonce值,随后的相同交易将失败。

2023-05-15 23:39:14 889 1

原创 如何构建“Buy Me a Coffee”DeFi dApp

建立在区块链之上的分散化应用程序的一个好处是,世界各地的任何人都可以使用一个以太坊钱包来访问该应用程序,任何人都可以在不到1分钟的时间内免费设置一个以太坊钱包。这是一个我部署的示例合约,您可以使用它,但是如果您这样做...所有发送到您的网站的小费都将发送到我的地址 :)稍后当我们发布我们的网站时,我们需要一种方式来收集我们的朋友和粉丝留给我们的所有精彩小费。Replit的精妙之处在于,一旦你的网站建好,你可以回到你的个人资料,找到Replit项目链接,然后将其发送给朋友,让他们访问你的小费页面。

2023-05-14 15:49:41 888 2

原创 如何使用Alchemy开发NFT智能合约(ERC721)

像OpenZeppelin Wizard这样的工具,为开发人员提供了点击和编写功能,可以在短时间内创建可组合和安全的智能合约,再加上Web3开发人员工具Alchemy的支持,让编写和部署区块链上的代码的体验变得比以往任何时候都更容易、更快速、更可靠。现在您需要选择要集成到我们的智能合约中的功能,在“设置”部分之后,您将找到“功能”部分,在那里您将能够选择要包括在您的智能合约中的不同模块。

2023-05-12 21:55:24 1287

原创 solidity -- 合约

在不同的合约(实例)上调用函数将执行 EVM 函数调用,从而切换上下文,使得调用合约中的状态变量不可访问。编译器生成的合约创建代码将在合约返回之前修改合约的运行时代码,方法是将所有对不可变对象的引用替换为分配给它们的值。内部可见性函数访问可以在当前合约或派生的合约访问,不可以外部访问。的变量受到的限制要少一些:可以在合约的构造函数中或在声明时为不可变变量分配任意值。只能使用在当前合约或在基类合约中定义的 修改器modifier , 修改器modifier 也可以定义在库里面,但是他们被限定在库函数使用。

2023-05-09 12:14:23 945 1

原创 solidity--语言基础

如果 x 是合约地址,它的代码(更具体地说:它的 Receive Ether Function,如果存在,或者它的 Fallback Function,如果存在)将与转移调用一起执行(这是 EVM 的一个特性,无法阻止 ). 如果执行耗尽 gas 或以任何方式失败,以太币转移将被还原,当前合约将异常停止。内部函数只能在当前合约内部调用(更具体地说,在当前代码单元内部,也包括内部库函数和继承函数),因为它们不能在当前合约的上下文之外执行。部分(是可选的)声明了与外部调用返回的类型相匹配的返回变量。

2023-05-08 00:17:40 605

原创 solidity教学--快速入门

通过以下方式,对堆栈的访问仅限于顶端:可以将最顶端的 16 个元素之一复制到堆栈的顶部,或者将最顶端的元素与其下方的 16 个元素之一交换。当然,可以将堆栈元素移动到存储或内存中,以便更深入地访问堆栈,但如果不先移除堆栈顶部,就不可能访问堆栈中更深层的任意元素。如前所述,该合约的地址不是零地址,而是从发送方及其发送的交易数量(“随机数”)派生的地址。由于部分日志数据存储在布隆过滤器中,因此可以以高效且加密安全的方式搜索此数据,因此不下载整个区块链的网络对等点(所谓的“轻客户端”)仍然可以 找到这些日志。

2023-05-07 23:49:44 528

原创 吴恩达与OpenAI官方合作的ChatGPT提示工程课程笔记

吴恩达与OpenAI官方合作的ChatGPT提示工程课程笔记🥸 下述代码均在煮皮特上运行喔LLMs(large language models)Base LLM:基于文本训练数据来预测做“文字接龙”Instruction Tuned LLM(指令调整型LLM):接受了遵循指示的培训,可以根据提前培训的输入输出对结果进行调整提示指南两个关键原则编写明确和具体的指令(明确 ≠ 短)策略一:用分隔符清楚的指示输入的不同部分可以使用”””,`````,- - -,< >,&lt

2023-05-05 16:46:39 4050 2

原创 apScheduler和fastapi交互

参考文档:官方文档python定时任务最强框架APScheduler详细教程https://www.cnblogs.com/zhangliang91/p/12468871.html基本介绍APScheduler(Advanced Python Scheduler)是一个python的任务调度器,他可以使任务定期执行,同时我们可以动态的添加或删除任务。如果我们希望任务在下次程序启动时继续执行,那么他还支持持久化任务。除此之外,他也是跨平台的。需要注意的是,APScheduler并不是一个守护进程

2020-12-17 15:55:50 4329 2

原创 fastapi教程-进阶九(Dependencies-1)

参考内容:https://fastapi.tiangolo.com/fastapi有非常强大的依赖注入系统,虽然听起来会很难,但是用起来非常简单,并且非常方便我们集成各种组件什么是依赖注入依赖注入是指在我们的项目中,定义了一些方法,这些方法是我们某些路径方法需要依赖的,这些方法叫做依赖项,当代码运行时,fastapi会将这个依赖项注入到路径方法中。如果很难理解,我们可以通过了解他的使用场景来理解他的意思。依赖注入可以用在下面的场景:有共享逻辑时,也就是重复的业务逻辑共享数据连接安全机制

2020-09-18 15:56:23 3004 3

原创 fastapi教程-进阶八(Handling Errors)

参考内容:https://fastapi.tiangolo.com/在很多情况下,在服务端出现错误时,我们需要告诉客户端出现了什么错误,例如:客户端没有足够的权限进行该操作。客户端无权访问该资源。客户端尝试访问的项目不存在。这时,我们需要返回给客户端400-499范围内的HTTP状态码。接下来介绍如何通过fastapi对服务端错误进行处理并返回给客户端HTTP状态码HTTPException如果希望将错误返回给客户端,可以使用HTTPException:from fastapi i

2020-09-09 15:05:44 1262

原创 fastapi教程-进阶七(Request Forms and Files)

参考内容:https://fastapi.tiangolo.com/Form Data前面介绍的参数都是以json格式传递的,这节我们来介绍表单参数如何使用如果要使用表单参数要先安装python-multipartpip install python-multipart下面这个例子模拟了登陆的表单验证,我们可以看到,参数的声明没有用Body或者Query,而是用了Formfrom fastapi import FastAPI, Formapp = FastAPI()@app.

2020-09-04 15:21:17 1763

原创 fastapi教程-进阶六(Response Status Code)

参考内容:https://fastapi.tiangolo.com/在fastapi教程-进阶五(Response Model)中我们学习了如何控制响应体结构,这节来学习如何使用http状态码:from fastapi import FastAPIapp = FastAPI()@app.post("/items/", status_code=201)async def create_item(name: str): return {"name": name}启动服务,打开h

2020-09-03 14:19:03 1254

原创 fastapi教程-进阶五(Response Model)

参考内容:https://fastapi.tiangolo.com/Response Model还是以一个例子开头:from typing import Optionalfrom fastapi import FastAPIfrom pydantic import BaseModel, EmailStrapp = FastAPI()class UserIn(BaseModel): username: str password: str email: Ema

2020-09-02 14:47:40 4695 1

原创 fastapi教程-进阶四(cookie、header parameter)

在fastapi教程-进阶(三)和fastapi教程-进阶(二)中我们介绍了Query、Path和Body参数,这里介绍cookie和headerCookiefrom typing import Optionalfrom fastapi import Cookie, FastAPIapp = FastAPI()@app.get("/items/")async def read_items(ads_id: Optional[str] = Cookie(None)): return

2020-09-01 11:02:36 2063

原创 fastapi教程-进阶(三)

参考内容:https://fastapi.tiangolo.com/在fastapi教程的前几篇教程里,我们学习了如何声明路径参数、查询参数和请求体,这篇我们会对这些参数进行扩展学习,学习更多的用法Query Parameters我们先看一个例子:from typing import Optionalfrom fastapi import FastAPI, Queryapp = FastAPI()@app.get("/items/")async def read_items(q

2020-08-28 18:11:06 1602

原创 fastapi教程-进阶(二)

Request Body这里我们来介绍一下POST请求时,fastapi是如何接收请求体的from typing import Optionalfrom fastapi import FastAPIfrom pydantic import BaseModelclass Item(BaseModel): name: str description: Optional[str] = None price: float tax: Optional[float] =

2020-08-28 15:06:45 2249

原创 python打包发布pypi及更新流程

参考文档Python 快速打包发布软件PyPi上包含setup.py的非Python文件五步法更新pypi包体发布1. 安装打包依赖工具pip install setuptools2. 安装上传工具pip install twine3. 注册PYPI官网个人用户4. 在和项目同级目录创建setup.py代码如下:from setuptools import setup, find_packagesGFICLEE_VERSION = '2020.8.4.6'setu

2020-08-05 11:46:39 2249 1

原创 mysql innodb索引结构及相关原理

最近在优化线上代码,优化过程中,对数据库进行了一系列的学习和基础巩固,看了很多大佬写的文章,整理了一下,记录在这里~参考文档:清空认知,然后重新理解MySQL索引结构MySQL索引背后的数据结构及算法原理B+tree的结构页在操作系统中,当我们往磁盘中取数据的时候,如果我们想要取出1kb的数据时,会发现,操作系统取出了4kb的数据,这是因为操作系统中页的大小是4kb。这是为什么...

2019-12-30 14:32:44 495 1

原创 flask + SQLAlchemy设置读写分离

参考文档https://www.jb51.net/article/174365.htmhttps://gist.github.com/trustrachel/6828122#file-routing-py步骤在配置中添加以下配置SQLALCHEMY_DATABASE_URI = 'xxx'SQLALCHEMY_BINDS = { 'xxx', 'xx...

2019-12-04 10:35:18 1538 2

原创 二进制求和

原题链接:https://leetcode-cn.com/problems/add-binary题目给定两个二进制字符串,返回他们的和(用二进制表示)。输入为非空字符串且只包含数字 1 和 0。示例 1:输入: a = “11”, b = “1” 输出: “100”示例 2:输入: a = “1010”, b = “1011” 输出: “10101”答案:class So...

2019-10-11 17:54:46 136

原创 fastapi教程——进阶(一)

一个简单的栗子from fastapi import FastAPIapp = FastAPI()@app.get("/")async def root(): return {"message": "Hello World"}FASTAPI继承Starlette,因此在Starlette中的所有可调用的对象在FASTAPI中可以直接引用编写步骤步骤一:导入Fast...

2019-10-11 14:58:29 20919 4

原创 fastapi——快速入门

fastapi是高性能的web框架。他的主要特点是:- 快速编码- 减少人为bug- 直观- 简易- 具有交互式文档- 基于API的开放标准(并与之完全兼容):OpenAPI(以前称为Swagger)和JSON Schema。技术背景:python3.6+、Starlette、Pydantic安装pip install fastapipip install uvicorn...

2019-09-26 15:27:51 60636 15

原创 Django项目——数据库管理

最近有一个需求。是可以通过可视化界面分别操作测试环境/生产环境的数据库。这里我使用了Django框架。在这里记录一下重点知识点>.<具体需求是:可以查看/修改数据库不同的人员有不同的权限可以查看修改历史,方便回滚我的实现方式是:开发环境:python3.7 + django2.1直接利用django的admin,以及内置权限进行操作django连接多数据库通过继...

2019-03-21 12:12:18 919

原创 tornado(二)——源码分析(一)

这里将从服务开启到请求进入之后的顺序进行源码解析。分析有误的地方希望大家指出哦~开发环境:python3.7、tornado5.0我们先创建一个最简单的tornado应用,从简单的栗子开始进行源码分析:import tornado.httpserverimport tornado.ioloopimport tornado.optionsimport tornado.webfr...

2019-02-26 17:26:32 403

原创 tornado(一)——基础介绍

参考文档:https://docs.pythontab.com/tornado/introduction-to-tornado/ch1.html#ch1-2-1-1https://www.tornadoweb.org/en/stable/guide/intro.htmlTornado是什么?Tornado是使用Python编写的一个强大的、可扩展的Web服务器。它在处理严峻的网络流量时...

2019-02-12 10:40:23 560

原创 排序算法总结——python语言实现

参考文档:十大经典排序算法(动图演示)基于python的七种经典排序算法https://github.com/TheAlgorithms/Pythonhttps://www.toptal.com/developers/sorting-algorithms算法概述算法分类十种常见排序算法可以分为两大类:非线性时间比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突...

2019-01-17 13:21:55 424

原创 leetcode自测答题——2019-01-13

emmmm决定从今天开始刷leetcode。。。在这里记录一下我的答题思路和结果吧。可能不是最棒的。如果大家有更好的解题思路请多多指教~给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。原题:https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/这里利用了窗口滑动的效果。...

2019-01-13 17:21:46 261

原创 Mac下使用国内镜像安装Homebrew

通用安装方式/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"使用国内镜像安装步骤第一步,cd ~curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/ins...

2019-01-12 15:28:15 2431

原创 celery学习笔记(二)——celery快速入门

在应用中使用celery项目结构:proj/__init__.py /celery.py /tasks.pyproj/celery.pyfrom __future__ import absolute_import, unicode_literalsfrom celery import Celeryapp = Celery('proj', b...

2019-01-09 21:13:41 1401 1

原创 解决python3.7 + celery4.2.1运行时找不到async

参考文档:[https://github.com/celery/celery/issues/4500] (https://github.com/celery/celery/issues/4500)最近在使用python3.7去运行celery4.2.1时,发现会报以下错误:出现这个错误时,需要将报错文件中所有的async改为asynchronous,并编写如下shell脚本运行:TA...

2019-01-09 20:41:54 2220

原创 django项目开发实战——博客(三)

经过好几版的修改,终于变成了现在这个样子(咳咳。)网站可以戳这里,欢迎大家多提意见哦~在之前的基础上,做了以下增加:评论功能评论功能依旧用了渲染的方式,加了一些原生js控制css样式。评论框:&amp;lt;form class=&quot;pure-form comment&quot; method=&quot;post&quot; action=&quot;{% url 'comment:comment' pk=post.id %}&q

2019-01-09 18:32:22 1868 1

原创 python2-mac10.13下安装mysql-python

安装环境:OS X 操作系统,Python 2.7.3。MySQLdb 其实包含在 MySQL-python 包中,因此无论下载还是在 pip 中 search,都应该是搜寻 MySQL-python。以下为安装步骤###安装MYSQLdb在 SourceForge 可以下载 MySQL-python-1.2.4b4.tar,下载后解压,然后在终端 Terminal 中执行以下命令:(v...

2018-12-28 13:24:17 636

原创 django项目开发实战——博客(二)

自从做了之前的django项目开发实战——博客之后,一直没有继续做下去。现在终于有时间把后面的笔记补起来了!(虽然还是一个很简陋滴= =)git地址:https://github.com/ChuXiaoYi/BlogWebSite/tree/test先放图:列表页页面是扒的这个地址,然后做了一些修改列表页主要说明一下分页和flash插件分页判断是否有上一页下一页需要用`pagin...

2018-12-18 17:22:11 2045 1

原创 celery学习笔记(一)——celery快速入门

参考文档:https://www.cnblogs.com/forward-wang/p/5970806.htmlhttp://www.cnblogs.com/shizhengwen/p/6911043.html环境:python: 3.7celery: 4.2.1什么是生产者与消费者模式在实际的软件开发过程中,经常会碰到如下场景:某个模块负责产生数据,这些数据...

2018-11-07 11:54:58 465

转载 Django使用MySQL后端日期不能按月过滤的问题及解决方案

参考文档:https://chowyi.com/Django%E4%BD%BF%E7%94%A8MySQL%E5%90%8E%E7%AB%AF%E6%97%A5%E6%9C%9F%E4%B8%8D%E8%83%BD%E6%8C%89%E6%9C%88%E8%BF%87%E6%BB%A4%E7%9A%84%E9%97%AE%E9%A2%98%E5%8F%8A%E8%A7%A3%E5%86%B3%E...

2018-09-30 21:37:34 679

原创 计算字符串相似度的一些方法

产品出了一个奇怪的需求,想通过字符串相似度取匹配城市= =(当然,最后证实通过字符串相似度取判断两个字符串是不是一个城市是不对的!!!)这里就记录一下我计算字符串(英文字符串)相似度的方法吧~参考文档:python_levenshtein 的安装和使用相似度算法之余弦相似度LevenshteinLevenshtein.hamming(str1, str2)计算汉明距离。要求s...

2018-09-30 12:10:11 2442 2

原创 py3.7标准库-collections-OrderedDict

OrderedDictOrderedDict和Dict一样,但是它记住了item插入到字典的顺序。当对有序字典进行迭代时,item会按照第一次插入到字典的顺序返回。实现:class collections.OrderedDict([items])OrderedDict是dict的子类,支持dict的方法。OrderedDict是一个能记住插入key的顺序的dict。如果有新的i...

2018-09-15 00:19:05 643

空空如也

空空如也

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

TA关注的人

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