自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 了解区块链技术(Patrick Collins)(一)

比特币是最早使用区块链这个跨时代技术的协议之一,比特币的白皮书是有中本聪写的,它描述比特币如何在一个去中心化的网络中,进行p2p交易,这个网络以密码学算法为基础,能够让人们以去中心化的方式,发生非许可的金融行为。人们认为这是一种高级的电子价值存储。有些人学习到比特币的技术后,想要进一步的发展它,几年后,V神发布了新的协议的白皮书,新的协议叫做以太坊。在以太坊上,除了去中心化的交易,人们还可以签署去中心化的合同构建去中心化的组织,以及在不需要中心化中介的情况下,以去中心化的方式进行协作。

2023-09-21 18:06:27 413

原创 了解区块链技术(Patrick Collins)(七)

单元测试是一种软件测试方法,用于测试源代码的各个单元,测试代码的最小部分,确保所有代码在本地都可以工作,之后在实际的测试网上进行Staging测试,确保我们的代码能和其他的合约正常工作。// 记录每个地址资金发送的数量。对于动态数组或者mapping,内部的元素是以哈希函数来存储的,对象本身会占一个槽位,如果执行push操作,我们将在Storage的位置上存储值。切换链的时候会发生什么?是一个空白的区块链,每次脚本执行完成之后都会被销毁,在本地节点上工作,喂价合约是不存在的,其中的某些代码无法更新数据。

2024-01-29 19:43:43 924

原创 了解区块链技术(Patrick Collins)(六)

/ const {ethers} = require("ethers") hardhat无法知道不同的代码中有不同的合约工厂,还没动,等我多用几次。是一个关键字,hardhat的Mocha框架会识别,有两个参数,第一个接收的是字符串,第二个接收的是函数(通用的是匿名函数)在这个例子中,它的值为 30000000。hardhat的最大优点是非常适用于运行测试,我们所有的代码都将对所有人开源供其交互,并有可能被利用。//告诉我们在每一个each之前要做什么,一个,每个测试之前,都会部署beforeEach。

2024-01-25 01:43:43 1328 2

原创 了解区块链技术(Patrick Collins)(五)

/ 要在这里厅下载,等待合约部署完成。https://blog.csdn.net/weixin_44786530/article/details/134263497 ===> 很方便。

2024-01-22 10:36:21 900

原创 了解区块链技术(Patrick Collins)(四)

/加1的时候bigNumber会被重置为零,无符号整型和整型试运行在unchecked这个概念下的,意味着如何一个数超过了它的上限,就会从最低的数字重新开始。使用时间最长,最常见的一个库是safeMath.sol,新建一个safeMathTester.sol,使用0.8之前的任意版本。// call 实际使用的较为底层的命令,可以调用几乎所有solidity的命令,不依赖ABI 最推荐。//部署合约后立刻调用,通过构造函数设置合约的拥有者,修改withdraw函数使得只有合约拥有者可以调用。

2024-01-19 12:58:13 517 1

原创 了解区块链技术(Patrick Collins)(三)

data feed(喂价):Chainlink节点通过去中心化网络从不同的交易所或者数据提供商获取数据,Chainlink节点使用中位数来计算资产的价格,然后在单个交易中将其传递给参考合约、喂价合约或者链上数据合约,这些合约上的数据能被其他只能合约使用。功能二:VRF,区块链是确定性系统,不具备随机性,我们需要通过区块链外部获取可验证的随机数,Chainlink可验证随机性函数是一种能将可证明的随机数放入智能合约中的方法,以保证公平性和应用程序的随机性。//使用Chainlink喂价获取定价信息。

2024-01-17 23:04:10 2224 1

原创 了解区块链技术(Patrick Collins)(二)

/稳定的版本,MIT是限制最少的License​。

2024-01-16 22:27:19 1466 1

原创 密码学期末

9}中与10互素的有 1,3,7,9 四个 Z10可表示为 则生成元为 1^1, 1^3,1^7,1^9(加法群),即1,3,7,9四个。(1)PoW的原理是,节点通过解决数学难题来竞争获得记账权,谁先解决问题,谁就获得记账权,这个过程也就是挖矿的过程。若为群,如果G中存在一个元素a,使得G中的任意元素都是a的幂,那么称该群为循环群,而元素a被称为该循环群的生成元。(验证阶段)验证者打开这个人选择的盒子,确认球是红色的,并询问你确认红球是在这个盒子里面吗,证明者回答是,就说明不是色盲。

2024-01-15 09:41:42 867 1

原创 计算机网络学习笔记

网络协议是为网络中的数据交换而建立的规则标准或约定,规定交换信息的格式、意义 、顺序以及收到特定信息所采取的动作。仅有硬件(路由器、主机、链路)连接,Internet不能保证顺畅运行和数据的有序交付,还需要协议。:协议双方发送信息的过程中还要发送哪些控制信息,收到这些控制信息要做哪些响应。硬件是计算机网络的基础,计算机网络中的数据交换必须遵守事先约定好的规则。协议规定了网络中所有信息的发送和接收过程。从组成上看,全球最大的互连网络,ISP,互联网服务提供商网络。:协议之间交换信息的格式,否则无法解析。

2023-10-05 21:19:14 42

原创 密码学学习笔记

验证:dk(ek(x)) = dk(7x+3) = 15(7x+3)-19=x+45-19=x (mod26)解密函数为:dk(y)= 7^(-1) (y-3) = 15(y-3) = 15y - 9 (mod26)P(明文空间)、C(密文空间)、K(密钥空间)、E(加密函数)、D(解密函数)加密:将明文字符按照一定的规则移动位置,得到排列错乱的密文,字符本身不变。将原始的第三个字符放在第一个位置,将原始的第二个字符放在第五个位置。:将明文字符按照对应关系代换成另外的密文字符。

2023-10-04 17:12:08 256 1

原创 MybatisPlus学习笔记

type-aliases-package:类型别名的扫描包,指定实体类所在的包,作用是在你定义的mapper.xml里面,如果要指定实体类的类型,不用写全路径名,直接写简化名就可以了。1、引入mysql依赖,lombok依赖,单元测试spring-boot-starter-test依赖,mybatis-plus-boot-starter依赖。2、定义Mapper,自定义的Mapper集成mybatis-plus提供的BaseMapper,其中定义了大量的增删改查的方法。核心功能 ---- 条件构造器。

2023-09-29 12:26:42 47 1

原创 十个常用的lambda表达式

【代码】十个常用的lambda表达式。

2023-09-22 23:41:46 338

原创 Git的基本使用方式

mkdir democd demolsgit initgit init 默认的分支是master分支,可以指定其他的分支,通过参数 -- initial-branch初始化的其他的分支。--bare 创建一个裸仓库(纯git目录,没有工作目录)(裸仓库是实现git服务器的),不允许添加文件的操作,一般存储在服务器上的仓库通过--bare的方式创建出来。--template通过模板来创建预先定义好的git目录。通过tree .git 查看目录文件HEAD:表示当前指向的分支。

2023-08-02 22:46:55 56 1

原创 消息队列--kafka

kafka提供的一个自动装配的方式,high-level,在broker集群中,对于不同的consumer group来讲,都会选举一个broker去当coordinator(协调者),帮助consumer group进行自动分配,使用这种方式,如果出现了consume3宕机,coordinator就会感知到,将consumer3踢掉,将其持有的分片均匀的分配到consumer1和consumer2上。在之前老版本中,是通过offset的差距来判断,现在通过时间的差距。

2023-07-31 19:28:52 60

原创 Database/sql及gorm相关解读

database/sql采用极简接口设计原则,为上层的应用程序提供了一个标准的API操作的一个接口,为下层的数据库暴露驱动的接口,在database/sql中实现连接池的管理,连接池使用池化技术优化性能。昂贵、耗时的资源会放到一个特定的池子里 ,做一些维持最小连接,最大连接数、阻塞队列,更好的管理池子。database/sql包只是实现统一的接口,不用管具体怎么连接数据库,解析数据库,不同数据库实现自己的driver(连接数据库,解析数据库等),使用driver + DSN初始化DB连接。

2023-07-31 10:53:16 114

原创 RPC框架设计与分析

首先在sockets编程的时候必须要知道两个信息,IP和端口,sockets创建一个套接字,首先会有一个bind操作,将套接字绑定到IP+端口上,再去监听进来的连接,放到一个队列里面,队列可能由于满了发生阻塞,需要等到队列清空再放进去,队列有一个长度规定backlog,linux默认的长度规定是128,之后是accept,在客户端发起connect请求的时候,接收连接的请求,没有请求的时候就会一直阻塞等待连接进来,调用read,write读写进行通信。JSON编解码的实现采用反射的机制,性能差。

2023-07-30 21:22:41 105 1

原创 算法学习(左程云)

正在学习中ing,持续更新。

2023-07-23 23:26:50 26

原创 Spring注解驱动学习(雷丰阳源码级讲解)

一、spring容器相关组件添加、赋值、注入、AOP、声明式事务二、扩展原理ApplicationListener spring容器的创建过程三、web(spring MVC部分)异步请求(1)@Filter(FilterType.ASSIGNABLE_TYPE,classes = "bookService"),只要是bookService类型的组件都会被加载到容器中,按照给定的类型进行过滤。(2)使用正则表达式指定。

2023-07-23 15:57:33 115

空空如也

空空如也

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

TA关注的人

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