自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 web3默克尔树MerleTree白名单校验

默克尔树,合约空投白名单应用

2022-10-06 13:09:00 2158

原创 Proxy代理配置解析

Proxy代理配置,解析,实现前端发送跨域请求

2022-09-14 10:29:01 2126

原创 solidity函数重载以及调用

call调用重载方法查数据,send调用重载方法写数据,multicall-client.js也能调用重载方法

2022-09-09 17:58:15 1077

原创 web3获取所有事件日志与解码

web3获取所有事件日志与解码、通过浏览器api获取,通过web3的getEvents获取,方法参数以及日志data解码

2022-08-04 17:07:24 3149

原创 cocos小游戏实战-完结

在线demo地址、git开源地址、部分截图、玩法...【复刻Steam游戏《Cramped Room Of Death》】

2022-08-02 19:06:53 1335

原创 cocos小游戏实战-05-NPC与角色攻击逻辑

NPC攻击角色、人物攻击NPC、渲染门【复刻Steam游戏《Cramped Room Of Death》】

2022-07-26 09:57:06 1051

原创 cocos小游戏实战-04-碰撞检测与NPC渲染

碰撞检测、渲染NPC、NPC朝向人物【复刻Steam游戏《Cramped Room Of Death》】

2022-07-21 11:47:24 1704

原创 ENS阅读笔记

ENS注册流程代码块,查询代码块,graph获取数据代码块分享

2022-07-18 11:39:02 770 3

原创 cocos小游戏实战-03-FSM有限状态机

FSM有限状态机、以及子状态机实现人物方向切换动画【复刻Steam游戏《Cramped Room Of Death》】

2022-07-10 23:04:07 1393

原创 cocos小游戏实战-02-事件中心

事件中心、人物动画,人物移动【复刻Steam游戏《Cramped Room Of Death》】

2022-07-09 13:32:04 1234

原创 cocos小游戏实战-01-地图渲染

背景、地图渲染、网格布局【复刻Steam游戏《Cramped Room Of Death》】

2022-07-07 20:32:22 1169

原创 solidity部署和验证代理合约

使用openzeppelin的两个代理辅助合约、区块浏览器验证合约并在代理合约查看逻辑合约包含的方法

2022-06-24 11:51:41 4034

原创 solidity合约验证

部署合约、合并合约、安装插件、Verify and Publish、填写参数,验证

2022-06-20 14:14:35 4196

原创 解决webpack5不支持web3

解决方式1遗弃webpack5,将其改为和config-overrides.js2、下载相关依赖package.json3、修改启动方式方式2如果遇到错误,可删除package-lock.json和node_modules重试参考地址How to Polyfill node core modules in webpack 5https://stackoverflow.com/questions/64557638/how-to-polyfill-node-core-modules-in-w

2022-06-13 13:57:14 1339 6

原创 windows安装Ubuntu子系统

Ubuntu安装安装git、安装proxychains、安装pm2、下载Windows Terminal

2022-06-13 13:56:14 1192

原创 github workflows配置

.github/workflows/main.yml

2022-06-13 13:54:19 1287

原创 react Could not freeze

问题运行项目的时候,经常会有一大片错误 Could not freeze ./src/web3/address.js: Cannot read property 'hash' of undefinedHardSourceWebpackPlugin是webpack的插件,为模块提供中间缓存步骤,但是它报错了…临时解决方案删除 ./node_modules/.cache 后,再npm start重启项目确实,这行得通,但是后面还会继续蹦出来,难道每次都要去手动删除再重新启动吗?根本解决方案

2022-04-07 10:07:10 1525

原创 react process is not defined,全屏iframe覆盖问题

问题在运行时,浏览器控制台报错:process is not defined,并且会在页面创建个全屏iframe,阻止页面交互,头痛…解决固化react-error-overlay版本,下载包npm i --save-exact [email protected] i --save-dev [email protected]添加以下代码 "resolutions": { "react-error-overlay": "6.0.9"

2022-04-07 10:06:01 1906

原创 solidity代理合约

如何实现代理合约代码pragma solidity ^0.8;import "@openzeppelin/contracts/utils/math/SafeMath.sol";contract B{ uint public num; uint public value; function donate(uint _num) payable public{ num = _num; value = SafeMath.add(value, msg.

2022-03-17 16:09:20 1708

原创 solidity合约创建合约

参考uniswap的Factory合约创建交易对pragma solidity ^0.8.1;contract Pair{ address public factory; address public token0; address public token1; constructor(address _token0, address _token1) payable{ token0 = _token0; token1 = _token1

2022-03-16 12:11:17 779

原创 二次开发uniswap-02-Interface

实现一个swap

2022-03-11 09:52:31 1451 2

原创 二次开发uniswap-01-SDK

实现一个swap

2022-03-11 09:51:03 2206 4

原创 ethers发送交易-nodejs

原生资产,转账、获取余额var customHttpProvider = new ethers.providers.JsonRpcProvider('https://bsc-dataseed.binance.org/'); var privateKey = "私钥"; var wallet = new ethers.Wallet(privateKey, customHttpProvider); const balance = await wallet.getBalance() consol

2022-03-09 09:15:20 2695

原创 solidity实战-众筹项目

功能介绍玩法用户发起众筹->其他用户参与众筹众筹可以提前关闭结束众筹额度满了将不能继续参与盈利每个众筹成功的项目在提取时、合约将产生5%的扣点,扣点收益将全部交给合约管理员,管理员需要手动提取实现代码pragma solidity ^0.6.0;contract Financing { // 出资人 struct Donor { uint amount;//融资金额 address addr;//地址 uint tim

2022-03-09 09:14:21 803 1

原创 permit-712签名

permit-712签名来源于EIP2612提案,先看文档再做操作https://eips.ethereum.org/EIPS/eip-2612合约代码支持permit-712的代币,DAI,它的核心签名方法代码如下function permit(address holder, address spender, uint256 nonce, uint256 expiry, bool allowed, uint8 v, bytes32 r, bytes32 s

2022-02-16 09:54:02 1365

原创 solidity学习笔记

编辑器https://remix.ethereum.org/view 与 pruepragma solidity ^0.8.4;contract Day1{ string private str="web03"; function getStr() public view returns(string memory){ return str; } function setStr(string memory newStr) public {

2022-02-16 09:52:59 818

原创 rpc多链请求工具-开源

一款支持高并发的rpc多链请求工具

2022-01-26 11:17:33 9880 2

原创 实现一个合约请求工具

实现一个区块链浏览器合约请求工具

2022-01-26 11:15:15 9239 1

原创 分组算法实现

需求有多个calls数组,数组值分类且每个类别至多存放3个,多余的需要用存放在另一个同类数组,且calls表示用户的一组请求,要将用户在短时间内调用的calls,组合成大calls进行请求,并且返回对应的值注:无法通过key来表示A1 也就是说A1不是唯一的,只能通过index[A1,B1,C1]//calls[A2,E1,D1][B2,B3,B4][B5,C2]以上分类为[A1,A2][B1,B2,B3][B4,B5][C1,C2][D1][E1]将分类通过批量请求处理

2021-12-15 14:03:17 571

原创 算法-矩形包含

题目把矩形的层级包含关系表示出来即可。比如上面的图表示为一个 div 下有两个 div。数据r1 = [ { id: 1, x1: 533, y1: 30, x2: 860, y2: 409 }, { id: 2, x1: 559, y1: 49, x2: 837, y2: 207 }, { id: 3, x1: 568, y1: 236, x2: 832, y2: 364 },]xy 是坐标信息,层级关系可根据此内容计算。要处理成的数据r2 = [ { id:

2021-12-13 17:26:55 429

原创 The Graph的运用

thegraphThe Graph网络对Web3的查询层和API层进行了去中心化,消除了dApp开发者目前面临的取舍难题:到底是开发一个高性能应用,还是开发一个完全去中心化的应用…1.创建旧版本子图-浏览器因为新版收费,且新版至目前只支持以太坊主链旧版子图地址: https://thegraph.com/hosted-service/打开地址登录github点击Add Subgraph创建子图此处的名称需要和你的github账号名称对应,否则点击按钮无效,控制台输出报错(可能是bug

2021-12-11 11:52:34 7484 1

原创 css3徽章特效

css3 徽章特效实现使用N张图片,使其在Z轴偏移堆叠,形成厚度,使用3D转换,就是徽章的效果了代码<!doctype html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scal

2021-12-08 09:45:15 611

原创 js计算笛卡尔积

一行实现笛卡尔积[[1,2,3],['A','B','C']].reduce((a, b) => a.flatMap(x => b.map(y => x+y)), [[]])// ['1A', '1B', '1C', '2A', '2B', '2C', '3A', '3B', '3C']其他实现这是很久以前一个群友问的问题,当时是硬逻辑写出来的,仅供参考...

2021-11-09 10:09:17 364

原创 js对象合并与取值(深度)

对象合并let obj1_ = { a: 11, b: { c: 22, f: 11, e: { x: 9, xx: 99, xxx: { xx: 111 } } }}let obj2_ = { project: 'xx_pc', key: 'info', a: 333, b: { c: 333, d: 444, e: { x: 999,

2021-11-08 18:57:46 399

原创 二次开发ethers-multicall

为什么要对ethers-multicall进行二次开发?在项目中,假设有100处使用了multicall同时发了600个call请求,每个muticall里有1~N个call,则至少要发送100个multicall rpc请求,在浏览器中很容易造成堵塞或者失败的情况实现:100处muticall600个call,只用2个rpc进行请求思路:1、重写multicall.all方法export function all<T extends any[] = any[]>( calls:

2021-11-03 09:21:43 1075

原创 前端上传IPFS

Pinata这只是一种走捷径的解决方案可以直接通过ajax的方式上传,速度快,支持鉴权,权限控制;但是 有储存量限制,量大收费,有大小限制,如JSON 10M使用注册账号 https://app.pinata.cloud/申请key,设置key相关权限上传JSON官方文档 https://docs.pinata.cloud/api-pinning/pin-jsonconst config = { APIKey: '7e261b35bd2e534779bb', API

2021-11-03 09:20:13 1692

原创 XAML形状转CSS

1. 规则Lunacy图形规则,都是由Canvas与Path标签组成(纯块,暂不考虑文本,图片控件)2. 实现方式采用生成dom,获取dom属性的方式对图形进行拆解const root = document.createElement('div')root.innerHTML = htmlStr3. HTML规则HTML中,使用单标签组件如(),多个并排会被html解析为嵌套,所以需要处理单标签转为双闭合标签 // 替换行内标签 function replaceInlineLabel

2021-11-03 09:19:25 389

原创 Hardhat 学习笔记

hardhat入门,编译合约,后需要执行编译,部署合约,fork主网,模拟账户

2021-11-03 09:17:56 4983

原创 solidity合约入门

基本类型int用intx和uintx来申明,其中x是一个8-256之间的8的倍数,表示有多少个bit。如int8 ,uint32。比较:<=,<,==,!=,>=,>位运算:&,|,^,~,<<,>>数值运算:加减乘除,%取余,指数。0的0次方等于1type(x).min和type(x).max给出该类型的上下界溢出会被截断addressaddress与address payable:储存160个bit长的信息,也就是一个地址。

2021-11-03 09:15:36 1108

原创 svg改变颜色 css实现

img src=xxx.svg的情况<!doctype html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">

2021-07-29 17:19:02 3469

空空如也

空空如也

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

TA关注的人

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