- 博客(193)
- 收藏
- 关注
原创 solidity函数重载以及调用
call调用重载方法查数据,send调用重载方法写数据,multicall-client.js也能调用重载方法
2022-09-09 17:58:15
1290
原创 web3获取所有事件日志与解码
web3获取所有事件日志与解码、通过浏览器api获取,通过web3的getEvents获取,方法参数以及日志data解码
2022-08-04 17:07:24
3584
原创 cocos小游戏实战-完结
在线demo地址、git开源地址、部分截图、玩法...【复刻Steam游戏《Cramped Room Of Death》】
2022-08-02 19:06:53
1497
原创 cocos小游戏实战-05-NPC与角色攻击逻辑
NPC攻击角色、人物攻击NPC、渲染门【复刻Steam游戏《Cramped Room Of Death》】
2022-07-26 09:57:06
1213
原创 cocos小游戏实战-04-碰撞检测与NPC渲染
碰撞检测、渲染NPC、NPC朝向人物【复刻Steam游戏《Cramped Room Of Death》】
2022-07-21 11:47:24
1796
原创 cocos小游戏实战-03-FSM有限状态机
FSM有限状态机、以及子状态机实现人物方向切换动画【复刻Steam游戏《Cramped Room Of Death》】
2022-07-10 23:04:07
1734
原创 解决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
1764
6
原创 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
1650
原创 react process is not defined,全屏iframe覆盖问题
问题在运行时,浏览器控制台报错:process is not defined,并且会在页面创建个全屏iframe,阻止页面交互,头痛…解决固化react-error-overlay版本,下载包npm i --save-exact react-scripts@4.0.3npm i --save-dev react-error-overlay@6.0.9package.json添加以下代码 "resolutions": { "react-error-overlay": "6.0.9"
2022-04-07 10:06:01
2104
原创 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
1827
原创 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
860
原创 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
2999
原创 solidity实战-众筹项目
功能介绍玩法用户发起众筹->其他用户参与众筹众筹可以提前关闭结束众筹额度满了将不能继续参与盈利每个众筹成功的项目在提取时、合约将产生5%的扣点,扣点收益将全部交给合约管理员,管理员需要手动提取实现代码pragma solidity ^0.6.0;contract Financing { // 出资人 struct Donor { uint amount;//融资金额 address addr;//地址 uint tim
2022-03-09 09:14:21
1006
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
1818
原创 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
972
原创 分组算法实现
需求有多个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
696
原创 算法-矩形包含
题目把矩形的层级包含关系表示出来即可。比如上面的图表示为一个 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
532
原创 The Graph的运用
thegraphThe Graph网络对Web3的查询层和API层进行了去中心化,消除了dApp开发者目前面临的取舍难题:到底是开发一个高性能应用,还是开发一个完全去中心化的应用…1.创建旧版本子图-浏览器因为新版收费,且新版至目前只支持以太坊主链旧版子图地址: https://thegraph.com/hosted-service/打开地址登录github点击Add Subgraph创建子图此处的名称需要和你的github账号名称对应,否则点击按钮无效,控制台输出报错(可能是bug
2021-12-11 11:52:34
7675
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
741
原创 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
422
原创 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
468
原创 二次开发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
1302
原创 前端上传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
2026
原创 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
453
原创 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
1296
原创 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
3764
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人