- 博客(146)
- 收藏
- 关注
原创 ETH 中继接口
在中继开发中,事件的监听是开发难度最高的。事件监听的技术原理主要是通过获取一个区块内部的交易信息并解析交易信息内的“EventLog”(日志事件)来达到目的。目前ETH提供web.js库,该库中有区块事件监听函数,但并不完美,有以下不足:为什么要监听?中心化Exchange就要做这样的事情,比如充值或者提现,都需要对链上的数据进行监控,要链上转账成功后,再修改中心化服务端的数据库,如果不监控,就提现而言,如果链上交易失败,但是用户在中心化的数值减少了,就会有问题。在ETH机制中,链上的授权,交易,合约
2022-06-10 23:26:21 1224 2
原创 go WebSocket 服务端 + 客户端
服务端package mainimport ( "fmt" "github.com/gorilla/websocket" "log" "math/rand" "net/http")var UP = websocket.Upgrader{ ReadBufferSize: 2048, WriteBufferSize: 2048,}func handler(w http.ResponseWriter, r *http.Request) { conn, err := UP.Upg
2022-05-29 16:46:47 585
原创 ThinkPhp5.0.24 JWT报错 ‘“kid“ empty, unable to lookup correct key‘解决办法
今天遇到个坑,记录一下。在记录之前,还是要补充装环境的坑。前段时间记录了一下ThinkPhp5不知道多少,开发环境是macos11,因为macos自带apache,php开发环境,直接把apache的配置文件的http.conf里的php开关打开即可。但是换了设备,开发环境是macos12,系统自带的apache把php去掉了,所以配置php环境,除了安装php,还在apache的http.conf文件添加php运行路径,还要倒入相关模块,还要使用证书对http.con文件进行签名(我到这一步就放弃了,
2022-05-20 21:53:25 3837 6
原创 区块链主流的三种共识算法(伪代码解释):PoW,PoS,DPoS
PoW(Proof of Work:工作量证明),以BTC为代表,区块链1.0PoP(Proof of Stake:股权证明),以ETH为代表,区块链2.0DPoS(Decentralized Proof of Stake:去中心化的股权证明):以EOS为代表,区块链3.0PoW优点难度系数(difficulty)可自动调整越早进场,越占优势,有促进作用奖励都是分给个人,相对公平,相对去中心化缺点对资源消耗大比的是算力,谁算力大,谁占优势,以去中心化有所违背安全性还差点意思,.
2022-05-15 18:59:51 3620
原创 go 反向创建表结构+原生sql查询及数据读取+范型的使用
反向创建表结构什么时候需要反向创建表?先有数据库表,需要创建结构与数据库表建立关联的时候,需要基于数据库表来反向生成表结构。工具库(需要安装):gormt安装命令go get -u https://github.com/xxjwxc/gormt./gormt --helpor./gormt -h-------------------------------------------------------base on gorm tools for mysql database to
2022-05-13 22:03:56 503
原创 lark 自定义机器人(python版和golang版)
python版import requests,jsondef sender(url, msg): """ :param url: webhook地址 :param msg: 需要发送的消息 :return: """ payload_message = { "msg_type": "text", "content": { "text": msg, } } headers
2022-05-11 21:57:08 1237
原创 tp5(thinkphp 5)后端开发
编译环境php 7.3.29,windows可能需要找个教程安装一下,macOs系统自带apache,只需要把 /etc/apache2 路径下的 httpd.conf 关于php的配置的注释取消掉即可。依赖包管理器:composer,安装教程,常用命令创建工程命令:composer create-project topthink/think 项目名称 --prefer-dist项目目录结构我使用的编辑工具是phpStorm。phpStorm的环境配置。开发前后端分离项目,首先
2022-05-09 22:40:44 891 1
原创 pip install web3
error: Microsoft Visual C++ 14.0 or greater is required. Get it with “Microsoft C++ Build Tools”: https://visualstudio.microsoft.com/visual-cpp-build-tools/pip install web3"""Building wheel for bitarray (setup.py) ... error ERROR: Command errored out
2022-04-11 23:28:21 1523
原创 椭圆曲线数字签名算法原理及其应用
现实中的签名有很多,简单举个例子:比如你小时候,考试不及格,老师常常会让你带着试卷在回去给你爸妈签名,以表示对你成绩的认可。那么这种签名可能会导致你乱认爸爸,老师也不容易验证你家长的签名。椭圆曲线数字签名是可以验证的。公式,函数图像如下图。4a**3 + 27b**2 != 0,保证了图像上的所有点有唯一切线。椭圆曲线点的基本运算。加法运算:A+B = C,那么C点是在AB连线的与椭圆曲线交于第三个点关于x轴对称的点。假设A,B重合,即该直线与椭圆曲线相切与A点,那么C = 2A, 那么C点是
2022-01-01 23:09:29 755
原创 RSA非对称加密算法
对称加密简单举个例子,A要给B发信息是“love”,A和B商量好,加密过程是把信息的每个字母向后挪动一位(这里假设发送的都是字母,比如要发送“a”,但实际发送出去的则是“b”),解密过程则是将收到的信息向前挪动一位(比如收到的是“b”,解密出来的则是“a”)。那么A先将"love"的每个字母往后挪一位,转换成“mpwf”,B收到“mpwf”,然后把"mpwf"每个字母往前挪一位,转换成"love"。这只是举个例子,但是实际的加密方式比这个复杂的多。这种方式是A,B均知道解密过程。非对称加密这里还是
2021-12-26 22:12:40 440
原创 前端-后端-数据库:图片交互
毕设其中有一个需求,就是前端需要上传图片。周末就写一下小测试代码。其中遇到一些奇奇怪怪的bug,虽然是周末遇到的,还是要记录一下。数据库表def create_table(self): sql = """CREATE TABLE %s ( `idpic` int(11) NOT NULL auto_increment, `caption` varchar(45) NOT NULL default '', `img`
2021-12-21 23:07:21 1080
原创 centos8安装python3.8
下载python3.8源码包wget https://www.python.org/ftp/python/3.8.3/Python-3.8.3rc1.tgz解压缩源码包tar -zxvf Python-3.8.3rc1.tgz进入源码包文件cd Python-3.8.3rc1指定安装目录为/opt/python3.8(这一步会比较久)./configure --prefix=/opt/python3.8 根据提示,执行以下代码(这一步会比较久)./configu.
2021-12-18 21:51:11 844
原创 发送一笔交易
根据交易哈希,到去中心化区块浏览器即可查询到这笔交易。from web3 import Web3from web3.middleware import geth_poa_middlewareweb3 = Web3(Web3.HTTPProvider('https://bsc-dataseed1.binance.org:443'))web3.middleware_onion.inject(geth_poa_middleware, layer=0)from_ = 'from_'from_key
2021-12-04 17:49:42 12084
原创 getProfit = 0
既然研究了是什么原理,还是有必要写个code来测试一下的。首先要把函数写好,然后就去调用pair的API,实例化合约,并且把对应的ABI传进去。得到Reserves,然后直接传进去就好。计算好delta a,用delta a的A去交易,把交易路径path准备好,确保整个交易流程在一个区块里,不然,在交易的过程中,会穿插别人的交易进来,影响最终结果。目前套利机会很少了,但是项目方拉盘时,防止别人套利还是可以使用这种方法的。from web3 import Web3from web3.middlew
2021-12-03 16:35:46 329
原创 uniswap源码+注释
最近,看到一个比较厉害的机器人,每次夹人可以获取0.2个ETH,利润还是十分的诱人。兴趣既然萌生了,那么也去研究了解一下。那么,首先还是要读一下去中心化交易所的源码(uniswap)。uniswap底层源码分三个模块,Factory,Pair,Router。Factory存放在多个Pair,Router是通过调用Factory,Factory再来找到Pair,更加详细的交易逻辑,还得看底层源码。Factorypragma solidity =0.5.16;import './interfa
2021-11-29 20:57:44 13079 1
原创 审核不通过
最近发现一个可以薅羊毛的链游。每个账号可以领三个宠物,那时候看每个宠物是3-5刀。本来想搞撸十个账号的,十个账号也就。后来想想,30刀,对资本家来说,不痛不痒的,搞都搞了,还是搞一百个账号吧。然后又生成一百个账号,弄着弄着发现不对劲,差点把自己是程序员的身份忘记了。直接写个程序,撸一万个好了。然后开始分析,怎么批量搞。刚撸起袖子,分析一波。然后就…看来我还是晚了一步,早就有人这么干了。而且项目方估计已经被撸死了。。。但是,我还是把思路记录一下,加深一下印象。下次有这种机会,干就对了。
2021-11-23 15:59:41 322
原创 ShrimpFarmer 2 智能合约
// 合约地址:0xb4D95449F1D4a793C7D32aB23a52Ab58Af5FE095pragma solidity ^0.4.18;contract VerifyToken { function totalSupply() public constant returns (uint); function balanceOf(address tokenOwner) public constant returns (uint balance); function.
2021-11-20 23:09:00 408
原创 PowH3D 智能合约
购买股权出售股权t=tokenPriceInitial_c=tokenPriceIncremental_s=tokenSupply_v = _taxedEthereuma=_tokensReceived// 合约地址: https://etherscan.io/address/0xb3775fb83f7d12a36e0475abdd1fca35c091efbe#codepragma solidity ^0.4.20;contract Hourglass { /*===
2021-11-19 23:24:34 4225
原创 恒定积自动做市--兑换比例,滑点,平均成本,资金进出对价格影响
恒定积自动做市策略是一种动态平衡供需关系的一种有效策略。设恒定积为K(实际画图取10000),某时刻某交易对(A~B)的数量分别是X(实际画图取100),Y(实际画图取100),那么满足XY=K,则此时用B衡量A的单位价格为Y/X 。若使用y数量的B来兑换x数量的A,那么满足关系式: ( X - x ) * ( Y + y ) = X * Y。那么,根据当前A的单位价格为Y/X ,y数量的B可兑换的数量y/(Y/X),但是,由于恒定积的约束,实际上能兑换的(1)、x = X - ( X * Y )
2021-11-18 23:00:31 2675
原创 ERC20标准USDT智能合约
pragma solidity ^0.4.17;library SafeMath { function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; assert(c / a == b); return c; } ...
2021-11-16 17:46:36 3869
原创 云端服务器部署前端工程
原理本地与云端仓库建立连接,本地代码上传到云端仓库(Gitee 或者 GitHub等)云端服务器与云端仓库进行连接,云端服务器拉取仓库代码服务器上build工程。配置好nginx.conf文件。启动nginx后,就可以访问到部署的项目了。条件需要一个云端服务器(腾讯云,百度云,阿里云,华为云等)下载安装git服务器配置好nginx,nodejs,npm具体步骤1、没有服务器的,需要买一个2.、给服务器搭环境// 安装git sudo yum install git//
2021-11-06 22:32:10 405
原创 nginx默认配置文件-nginx.conf
# For more information on configuration, see:# * Official English Documentation: http://nginx.org/en/docs/# * Official Russian Documentation: http://nginx.org/ru/docs/user nginx;worker_processes auto;error_log /var/log/nginx/error.log;pid /run/n
2021-11-06 20:46:42 8159
原创 React的useEffect,useState使用方式
F1.tsximport { useEffect,useState } from "react"const F1 = ()=>{ // useState,第一个是给值,第二个是操作该值的对应函数 const [key, setkey] = useState(0) const [val, setval] = useState(0) const changeKey = ()=>{ setkey(key => key+1) }
2021-10-14 11:24:59 702
原创 JAVA 网络编程
TCP/IP协议: 传输控制协议/因特网互联协议(Transmission Control Protocol/Internet Protocal),是Internet最基本、最广泛的协议。它定义了计算机如何连入因特网,以及数据如何在它们之间传输的标准。它的内部包含一系列的用于处理数据通信的协议,并采用了4层的分层模型(应用层、传输层、网络层和链路层),每一层都呼叫它的下一层所提供的协议来完成自己的需求。TCP/IP协议中的四层应用层:主要负责应用程序的协议,例如HTTP协议、FTP协议等。传输层:主
2021-08-11 21:50:13 65
原创 韭菜成长记
一、超买超卖型指标顺势指标(CCI)CCI = talib.CCI(high, low, close, timeperiod=14)资金流量指标(MFI)MFI = talib.MFI(high, low, close, volume, timeperiod=14)动力指标(MTM)n 一般取12def MTM(close, n): mtm = [] for i in range(len(close)): if i < n: .
2021-06-20 22:39:26 799
原创 上传本地代码到git之一
在git创建一个仓库(和你本地待上传的文件名相同)。把git上创建的仓库(文件夹)拉下来。把要上传的文件代码拷贝到刚拉下来的得文件夹下。使用Git Bush工具,将路径转到对应文件夹下,然后将所有文件添加进去,(git add .);提交添加的文件到缓存( git commit -m “第一次提交,这里是提交说明”);最后将文件推到git上(git push);具体操作如下图:注意:组织的仓库需要到配秘钥。...
2021-05-08 00:50:08 106
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人