自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 去中心的投票平台

去中心的投票平台

2024-08-19 18:06:08 395

原创 vue3中的pinia的使用

Pinia 是 Vue 3 的官方推荐状态(数据)管理库,提供了一种简单、直观且组件友好的方式来管理应用状态(数据,函数)

2024-08-19 12:12:34 410

原创 vue3中路由的使用

routes:[path: '/',redirect: '/home', // 重定向到 home 路由},},children:[},})

2024-08-19 11:22:48 311

原创 前端(vue3)和后端(django)的交互

前后端交互的学习总结

2024-08-05 15:06:16 658

原创 Django中的模型小总结:

用途:特定需求添加额外的查询逻辑或方法创建一个继承自的新类,然后在这个类中定义需要的自定义查询方法。'''自定义一个类HighRatingManager继承models.Manager,并重写了get_queryset方法:返回评级(rating字段)为1的对象其中:super().get_queryset()是调用父类Manager的get_queryset()方法;filter(rating=1)是对查询集的过滤操作。它告诉数据库只选择rating字段值为1的对象。'''

2024-08-04 17:37:48 595 1

原创 vue3项目结构梳理:

vue项目结构的讲解

2024-07-30 18:53:18 1319

原创 solidity实战练习5——众筹合约

【代码】solidity实战练习5——众筹合约。

2024-07-14 13:23:23 465

原创 solidity实战练习4——英式拍卖(常见的拍卖形式)

【代码】solidity实战练习4——英式拍卖(常见的拍卖形式)

2024-07-12 20:22:47 192

原创 solidity实战练习3——荷兰拍卖

荷兰合约(Dutch Auction Contract)是一种智能合约,通常运行在区块链上,用于实现荷兰式拍卖(Dutch Auction)的拍卖逻辑。荷兰合约的设计旨在确保拍卖过程的透明性、安全性和自动化执行。

2024-07-12 17:14:11 507

原创 solidity实战练习2--ERC20实现

允许另一个地址代表你进行转账操作,这在复杂的合约交互中特别有用。例如,允许某个合约在你的代币余额中进行交易,而无需事先将代币转移到合约地址。:授权机制允许你动态地管理你的资金,可以随时修改授权的地址和数量,这为复杂的合约逻辑提供了更大的灵活性和安全性。函数授权一个特定的地址可以转移的代币数量,可以帮助减少合约中的风险,因为授权的数量通常是有限的。

2024-07-12 10:44:27 499

原创 solidity实战练习1

切换为部署函数发现调用成功,将合约里面的余额转到owner中了。点击蓝色按钮可以查看部署者(合约拥有者)调用withdraw函数发现报错。

2024-07-11 19:37:47 378

原创 LaTex学习

LaTex文章总览: 导言区 (Preamble):  1.文档类别:  2.宏包  3.文章标题  4.文章作者  5.文章时间 正文区 (Main Document):  1.目录:  2.大标题生成  3.摘要  4.换行换段换页  5.标题设置  6.注释  7.脚注:  8.引用  9.文本内容设置  10.链接与超链接  11.图片  12.表格  13.数学(math):  14.代码块:15.脚注:

2024-07-06 19:44:07 1021

原创 html+css知识点总结:

css指层叠样式表css定义如何显示html元素样式通常存储在样式表中外部样式表可以极大提高工作效率外部样式表通常存储在css文件多个样式定义可以层叠为一。

2024-04-27 12:50:08 2121

原创 区块链知识总结——智能合约

智能合约是一种基于区块链技术的自动化合约,它能够在没有第三方介入的情况下执行、管理和执行合约条款。智能合约是由代码编写的,存储在区块链上,并在满足特定条件时自动执行。

2024-04-13 16:17:01 2162

原创 区块链知识总结——POS权益证明

pow由于其对资源的消耗而饱受争议。

2024-04-13 11:43:27 969

原创 区块链知识总结——以太坊的挖矿难度调整

以太坊的挖矿难度调整是通过一个称为“挖矿难度调整算法”(Mining Difficulty Adjustment Algorithm)的机制来完成的。该算法旨在确保每个区块产生的平均时间大约为15秒,以维持网络的稳定性和可靠性。

2024-04-13 10:29:54 691

原创 区块链知识总结——以太坊的挖矿算法

BTC mining 饱受争议的是:需要用到专业的ASIC芯片,这与去中心化的理念背道而驰。因此,包括以太坊在内的许多加密货币进行ASIC Resistance(抗拒专用矿机)。由于ASIC芯片相对普通计算机来说,算力强但访问内存性能差距不大,因此常用的方法为Memory Hard Mining Puzzle,即。

2024-04-13 10:16:06 800

原创 区块链知识总结——GHOST协议

在以太坊中叔父不是严格意义上的叔父,在以太坊中规定在当前区块的7代以内有共同祖先的都可以认为是叔父块。且每远离自己一个区块的叔父块得到的奖励就减少1/8,这也是以太坊鼓励矿工们尽快合并减少分叉的策略。

2024-04-12 21:18:30 954

原创 区块链知识总结——交易树和收据树

交易树和收据树是以太坊区块链中重要的数据结构,它们通过 Merkle 树的形式,提供了对交易和执行结果的高效存储和验证机制。这些数据结构的设计使得以太坊区块链可以实现高效的交易处理和状态验证,同时确保了交易和执行结果的完整性和安全性。布隆过滤器在以太坊中的具体应用:每一个交易执行完之后,会形成一个收据,收据中包括一个bloom fiter,记录交易的类型,地址等其他信息。

2024-04-12 20:34:05 1045

原创 区块链知识总结——以太坊中的状态树

所以,状态树中的每个键值对都经过了RPL编码后存储。键通过RPL编码表示账户地址或合约地址,值通过RPL编码序列化后表示账户状态,包括余额、合约代码、存储数据等。这种编码方式使得以太坊状态树能够高效地存储和检索账户状态信息。

2024-04-12 18:39:19 1670

原创 区块链知识总结——以太坊的账户

在以太坊中,账户是参与交易和执行智能合约的基本单位。以太坊账户分为两种类型:外部账户(Externally Owned Account)和合约账户(Contract Account)。

2024-04-12 14:30:43 3215

原创 区块链知识总结——比特币的匿名性

比特币的匿名性是指在比特币网络中,用户的身份是通过其公钥来代表的,而不是他们的真实身份。这意味着,只要用户不公开他们的公钥与他们的真实身份之间的关联,他们的交易就可以保持匿名。此外,一旦用户丢失了他们的私钥,他们就无法恢复他们的比特币。有一些方法可以提高比特币的匿名性,如使用新的地址进行每次交易,使用混币服务,或者使用隐私增强的加密货币(后面有),如Monero。匿名性可以保护用户的隐私,防止他们的交易信息被第三方获取和利用。此外,匿名性也可以防止用户因为他们的财富状况而成为犯罪的目标。

2024-04-12 13:46:08 597

原创 区块链知识总结——比特币挖矿难度的调整

这样可以保证比特币的稀缺性,同时也能够保证网络的安全性(如果出块时间太短分叉就会容易出现,而且可能不止二分叉,分叉过多,对系统达成共识没有好处,会危害系统的安全性)。每当网络中生成了2016个新的区块,比特币网络就会根据这2016个区块的生成时间来调整下一个2016个区块的挖矿难度。在比特币网络中,节点之间需要达成共识,以确定哪些区块是有效的,哪些是无效的。如果一个节点故意不调整比特币代码中的目标(target),那么它的行为可能会导致该节点与网络中的其他节点出现分歧,从而产生分叉(Fork)。

2024-04-12 09:20:44 1276

原创 区块链知识总结——比特币网络

比特币网络是一种基于点对点架构的去中心化网络,其工作原理涉及到节点之间的通信、交易验证和区块链的维护。: 比特币网络由许多节点组成,每个节点都是一个运行比特币软件的计算机。节点可以是全节点(完整节点)或轻量级节点(SPV节点)。全节点存储整个区块链,并能够独立验证所有交易,而轻量级节点只存储区块头和部分交易信息。: 当一个用户创建一笔交易时,该交易将通过网络广播到附近的节点。节点将交易验证,并将其传播到整个网络中的其他节点。: 节点通过检查交易的有效性来验证交易。

2024-04-11 21:15:09 1103

转载 区块链知识总结——比特币系统的实现

比特币交易脚本:比特币交易脚本是基于栈的表达式语言,是一种非常简单的语言,功能被设计的比较有限,只能做很少的操作,可以在简单的嵌入式硬件设备运行。在比特币交易中,每个交易都包含输入脚本(input script)和输出脚本(output script),它们一起定义了交易的条件和限制。当验证交易时,输入脚本和输出脚本会在一起运行来确定交易是否有效。输入脚本(解锁脚本):输入脚本包含了一段脚本代码,用于满足交易输入的条件。通常情况下,输入脚本包含了一些签名数据,以证明交易的合法性。

2024-04-11 19:26:24 335

原创 区块链知识总结——比特币的共识协议

工作量证明(Proof of Work,简称PoW)是一种用于验证和确认区块链上交易有效性的机制,最常见的应用是在比特币和许多其他加密货币的区块链中。工作量证明的基本原理是通过解决一个复杂的数学难题来证明计算机进行了一定量的工作。这个难题通常是一个哈希函数的碰撞问题,即找到一个输入,使得经过哈希函数运算后得到的结果满足特定的条件,如小于某个目标值。在比特币中,这个难题就是找到一个符合特定条件的区块头的哈希值,这个条件就是使得该哈希值小于目标值,这样的区块被称为“有效区块”。

2024-04-10 13:38:24 774

原创 区块链知识总结——比特币的数据结构

H(x)在比特币区块链中的产生是把上一个区块中的所有数据连同该区块链中的H(x)一同进行hash运算得到。这样的话如果某一个区块中的数据被篡改,则会影响下一个区块的哈希指针,进而影响之后的所有区块。

2024-04-09 22:42:02 1593

原创 区块链知识总结——比特币中的密码学原理

对于任意给定的哈希函数,极其困难找到两个不同的输入值产生相同的哈希值。:对于给定的哈希值,找到与之匹配的输入值应该是困难且耗时的。这个性质在密码学中被广泛应用于各种协议和算法,例如工作量证明(Proof of Work)机制,其中需要通过计算满足一定条件的哈希值来解决谜题。:对于给定的哈希值,计算出原始输入值是不可行的。数字签名可确保交易的合法性,即在交易被发送到区块链网络之前,发送者使用私钥对交易进行签名。一旦交易被写入区块链,任何人都可以使用发送者的公钥来验证交易的签名,从而确保交易未被篡改。

2024-04-09 21:15:45 971

原创 solidity语言语法补充(进阶版)

函数修改器通过modifier关键字来定义,其结构类似于函数,但不包含函数体。// 这里可以编写额外的逻辑// 这个符号表示将控制权转交给函数本体call函数是 Solidity 中用于与其他合约或外部账户进行交互的重要函数之一。它允许智能合约向指定地址发送消息并执行函数调用,同时也可以处理调用结果。以下是calladdress:要调用的合约或外部账户地址。payload:要发送的消息数据,通常是函数调用的 ABI 编码。success:布尔值,表示调用是否成功。如果调用成功,则为true;

2024-04-06 18:42:09 1030

原创 solidity语言语法总结

/ 函数的执行逻辑// 触发事件。

2024-03-07 20:18:39 2391 2

空空如也

空空如也

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

TA关注的人

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