1 什么是Token描述除BTC以外的所有加密Token的术语。Token的名字来自于它们是Token和传统法币的替代品。第一批Token于2011年推出,到现在,已经有成千上万种Token。...由于其广泛使用,这发生在最初提案的几年后。然而,即使是多年后,“ERC-20”这个名字仍然存在。ERC-20标准还有待完善。其中一个障碍是,将令牌直接发送给令牌的智能合同将导致资金损失。...所以如果您试图将令牌直接传输到令牌的合约中,那么由于该令牌的合约无法响应,所以金钱就“丢失”了。ERC20标准无法通过接收方合同处理传人的交易。这是该令牌存在的最大问题,也是开发者一直希望改进的地方。...ERC20令牌无法将令牌发送给一个与这些令牌不兼容的契约,也正因为这样部分资金存在丢失的风险。ERC-223简介ERC-223通过允许用户将代币转移到具有相同功能的智能合同和钱包来解决这个问题。...因此,无限授权DeFi合约是改善DeFi体验的有效方式避免了每次使用前都要授权的麻烦,以及每次交易前授权造成的GAS费用消耗。在设置了无限授权后用户只需同意一次,即可以避免在此后的存款中重复该流程。
那么,你怎么才能“无gas”交易呢? 这是什么法术? 在本文中,我将展示如何使用 “无 gas” 交易背后的模式。...“无 gas” 交易背后的法宝是,我可以使用我的私钥和要执行的智能合约交易进行签名。 签名是在链下进行的,而无需花费任何 gas。然后,我可以将此签名交给其他人,以他们的名义代表我执行交易。...例如,EIP2612[8]描述了如何使用EIP712[9]的签名应用于permit函数,其功能应与ERC20代币中的approve功能相同。...从 user1的角度来看,这是一次“无 gas”交易, 他没有花一分钱。 结论 本文介绍了如何使用“无Gas”交易,阐明了“无Gas”实际上意味着将Gas成本转移给其他人。...但是,使用此模式有很多好处,因此,它被广泛使用。签名允许将交易 gas 成本从用户转移到服务提供商,从而在许多情况下消除了相当大的障碍。它还允许实现更高级的委派模式,通常会对UX进行相当大的改进。
此外,如果您清除浏览器缓存,则无法使用密码登录。您需要使用种子词再次恢复钱包。 选择密码后,单击创建钱包,钱包将为您生成一个新的 SOL (Solana) 地址。...将 SPL 代币添加到 Solana 钱包 与以太坊上的 GAS 费用类似,要在 Sollet 钱包上添加 SPL 代币,您需要花费一些 SOL。您可以从 Binance 或 FTX 购买 SOL。...如果您在流行的代币选项卡中找不到您打包的 ERC20 代币,那么您可以通过输入 ERC20 合约地址手动添加它。 转到https://etherscan.io/。...手动输入 这类似于向 MetaMask 添加自定义令牌。...您可以在 Solana 资源管理器以及Coinmarketcap上找到令牌铸造地址。 在 Solana 资源管理器上搜索令牌名称并复制令牌铸造地址。在手动输入部分输入令牌铸造地址。
【技术收获】 从本实践中,你可以学习到: ERC20 Token的定义和实践 使用Remix Solidity IDE编写智能合约和编译调试 使用MetaMask完成钱包账户查看 2....ERC20 Token定义和接口说明 定义 ERC20合约是在2015年11月在EIP上提出的一个合约标准,代币定义的一个标准。 Token代表数字资产,具有价值,但是并不是都符合特定的规范。...如果_from帐户余额没有足够的令牌来支出,该函数应该被throw。 创建新令牌的令牌合同应该在创建令牌时将_from地址设置为0x0触发传输事件。...多次点击,偶尔出错,小编一共从这个测试网站获取了5个测试ETH用于作为发币的GAS燃料。 ?...编译操作 运行ERC20智能合约 ?
为什么erc20转账的合约总是提醒Error encountered during contract execution [Reverted]??...image.png 每当发生ERC-20 token转账失败的错误时,发送方发送的金额/token不会离开发送方地址,但会扣除“gas费用”。 主要原因是智能合约和token失败。...此问题归因于针对ERC-20令牌的合规性政策。 如需其他帮助,请直接联系发件人/交易创建者以获取更多信息。
UniswapV4 与 UniswapV3 相比,算法上并没有什么改变,依然还是采用集中流动性模型,但架构上变化很大,包括功能架构,也包括技术架构。...但是,由于余额必须在事务结束时为 0,因此可以使用瞬态存储实现对这些余额的记账,从而减少 gas 消耗。 瞬态存储操作码是专门用来解决区块内部通讯的解决方案。...因此,相对来说,使用瞬态存储解决区块内部之间通讯问题的优势在于 Gas 较低,且未来的以太坊数据存储设计中不需要考虑因临时存储而产生的操作费用退费的情况。...如果只用原生 ETH 转账的话,gas 成本只约为 ERC20 转账的一半(ETH 为 21k gas,ERC20 约为 40k gas)。...用户可以将代币保留在单例合约中,避免 ERC20 频繁转入和转出合约。这一点对于频繁交易者或流动性提供者非常有价值,因为他们会在多个区块或交易中连续使用相同的代币。
本文2000字,阅读需4分钟 ---- 1、背景 1.1 XEN是什么?...是近期大火的一个XEN币,到10-15为止已有超过120W笔交易,其实笔者对这类缺乏长期价值对Web3毫无建设性意义的项目一直没什么兴趣,因为他的机制就是只要发起的交易消耗了多少的GAS,就可以铸造出一定数量的...可拓展阅读:当我们在看Etherscan的时候,到底在看什么?...下文便是最简单的一个ERC20代币了,任何人均可执行mint函数,雷同于XEN了 对于ERC20/721实现原理可拓展阅读:【源码解读】你买的NFT到底是什么?...其实更有警示性意义 笔者想谈谈元交易的发展 元交易是来自于Christian Lundkvist教授在2015年的一个设想 如今上手 Dapp 实在是太麻烦了,以太坊生态若想普及,就应该允许新用户直接使用其功能
容量(Capacity) 桶最多存多少令牌 100 tokens 产生速率(Rate) 每秒/每毫秒产生令牌数 10 tokens/sec 当前令牌数 实时可用令牌 动态变化 二、算法流程(伪代码)...Token Bucket 漏桶 Leaky Bucket 核心思想 令牌匀速产生,请求取令牌 请求匀速流出,桶缓冲请求 流量形状 允许突发,长期匀速 强制匀速,无突发 桶内存储 存储令牌(许可) 存储请求...+队列 允许瞬间高并发,保护后端 七、面试高频问题 Q1:令牌桶的"桶"具体指什么?...只是一个计数器(记录当前可用令牌数)。不需要存储具体请求,这是和漏桶的本质区别。 Q2:令牌桶会有"精度"问题吗? 有。如果更新间隔太长,计算的令牌数可能不准确。...它使用平滑预热(SmoothWarmingUp)和平滑突发(SmoothBursty)两种模式,基于令牌桶思想但实现更高效(使用resync算法避免定时任务)。 Q4:令牌桶容量设置多大合适?
什么是ERC20Permit?ERC20Permit是基于EIP-2612标准的ERC-20扩展,它引入了通过离线签名进行授权的功能。...Nonce防重放攻击:每个地址维护一个独立的nonce计数器,每次成功使用permit后nonce递增,确保同一签名不能被重复使用。...使用 Foundry 测试 ERC20PermitFoundry是以太坊开发者社区日益流行的测试框架,以其快速的执行速度和原生Solidity支持而备受青睐。...- A custom ERC20 token with minting functionality/// @notice This contract extends ERC20 and ERC20Permit...keccak256( abi.encodePacked("\x19\x01", domainSeparator, structHash) ); // 使用私钥签名
本文将以一个简单的 ERC20 合约为例,介绍如何使用Foundry进行合约的编写。...创建项目首先,我们需要创建一个新的项目,命令如下: $ forge init MyToken --vscode$ cd MyToken为方便vscode使用,使用 --vscode 参数,此举将创建一个包含...安装依赖编写 ERC20 合约,我们需要借助 OpenZeppelin,使用下面的命令安装依赖: $ forge install OpenZeppelin/openzeppelin-contracts...() (gas: 13763)[PASS] testOnlyOwnerCanFreeze() (gas: 14025)[PASS] testTokenNameAndSymbol() (gas: 16822...)[PASS] testTotalSupply() (gas: 12603)[PASS] testTransfer() (gas: 47312)Suite result: ok. 6 passed; 0
1、学习目标理解为什么 DeFi 借贷平台需要 利息凭证代币(aToken / cToken)掌握 利息累计 的实现方式(借款人负债随时间增加,存款人资产随时间增加)从零实现一个简化版的 aToken...可以随时兑换为更多的底层资产- 借款人负债会随着时间增加这样做的好处:流动性增强:用户可以将 aToken 转让或抵押到其他协议中(组合性)利息自动复利:无需手动计算利息,协议内部通过「指数模型」累计3、核心知识点指数利率模型使用一个...uint256 public supplyIndex = 1e18; // 存款指数 uint256 public lastUpdate; // borrowRatePerSecond 使用...borrow(uint256 amount) external { _accrueInterest(); // 记录按 borrowIndex 标准化后的借款份额,便于 later 使用当前...思考:为什么 Aave v3 中把 aToken 和 debtToken 分开设计,而不是用一个 token 表示所有状态?
合约介绍 2.1 什么是ERC20标准 ERC20 通证标准(ERC20 Token Standard)是通过以太坊创建通证时的一种规范。...$ cargo contract new erc20 Created contract erc20 $ tree erc20/ erc20/ ├── Cargo.toml └── lib.rs...self.balances.insert(to, to_balance + value); true } 我们注意到,在进行余额的增减时,并未像以太坊的solidity智能合约,使用额外的...需完善合约存储: #[ink(storage)] struct Erc20 { ...... // (代币所有者, 代币授权使用者) -> 代币授权使用者可支配余额...value: Balance) -> bool { let owner = self.env().caller(); // 代币所有者(owner)授权代币使用者
Campaign 状态机Active(正在进行,可 pledging)Successful(达到目标,所有人可领取)Failed(截止且未达到目标,支持退款)Withdrawn(创建者已领取资金)谁可以做什么任意地址可以创建...Gas / DoS 风险不要在单笔函数里遍历大量数组(避免被 gas 限制 DOS)使用 mapping 存储出资详情,避免遍历退款列表3、简单实现src/SimpleCrowdfunding.sol:...DoS by Block Gas Limit:避免在单函数中遍历所有支持者(本实现未遍历,使用 mapping 便于单用户退款)。整数问题:Solidity >=0.8 已自带溢出检查。...ERC20 支持:把当前 ETH-only 的实现改造为支持 ERC20 令牌(支持任意 ERC20 token 作为募集资产)。...注意 ERC20 的 transferFrom/approve 模式与 ETH 不同。
以太坊网络中的Gas上限(Gas Limit)是一个重要的机制,它主要出于以下几个目的: 防止无限循环和拒绝服务攻击(DoS): Gas上限防止了智能合约中的无限循环,这可以保护网络免受恶意合约的攻击...通过设定Gas上限,可以确保任何单一交易或智能合约的执行不会占用过多的计算资源,从而避免了拒绝服务攻击。 控制交易成本: Gas上限是交易成本的一个重要组成部分。...每一笔交易或智能合约的执行都需要支付一定的Gas费用。Gas上限设定了交易愿意支付的最大Gas量,从而间接设定了交易成本的上限。这有助于防止交易成本的失控,同时确保网络资源被公平地分配给所有用户。...经济激励和安全: Gas机制为矿工(在以太坊2.0中为验证者)提供了经济激励,因为他们可以从交易中获得Gas费用作为奖励。...Gas上限确保了矿工在打包交易时可以获得合理的回报,同时也防止了可能的经济攻击,如通过发送大量低价值交易来试图稀释Gas费用。
关于SharpNamedPipePTH SharpNamedPipePTH是一款基于C#开发的安全工具,该工具可以利用哈希传递技术(Pass-the-Hash)在本地命名管道上进行身份认证,并实现用户令牌模拟...功能介绍 1、具备功能完整的Shell; 2、支持与目标设备用户账号建立C2链接; 3、支持模拟低权限账号; 4、该工具支持以C2模块使用; 不幸的是,模拟用户不允许网络身份验证,因为新进程使用的将会是受限制的模拟令牌...工具下载 广大研究人员可以使用下列命令将该项目源码克隆至本地: git clone https://github.com/S3cur3Th1sSh1t/SharpNamedPipePTH.git (向右滑动...工具使用 我们有两种方法来使用SharpNamedPipePTH,我们可以直接执行下列代码(可以携带相关参数): SharpNamedPipePTH.exe username:testing hash
使用Ink!...合约介绍 2.1 什么是ERC20标准 ERC20 通证标准(ERC20 Token Standard)是通过以太坊创建通证时的一种规范。...$ cargo contract new erc20 Created contract erc20 $ tree erc20/ erc20/ ├── Cargo.toml └── lib.rs 3.2...需完善合约存储: #[ink(storage)] struct Erc20 { ...... // (代币所有者, 代币授权使用者) -> 代币授权使用者可支配余额...value: Balance) -> bool { let owner = self.env().caller(); // 代币所有者(owner)授权代币使用者
什么是以太坊ERC20和ERC721 首先,ERC是什么? ERC是由Etherum开发人员为益泰坊社区编写的。...那么ERC20和ERC721代表什么,它们之间有什么区别 先简单介绍一下什么是ERC-20和ERC-721。 1、ERC-20 ERC-20是最广为人知的标准。...2、ERC-721 如果 erc-20如此强大,为什么还有额外的 erc-721标准?...前面提到的 erc-20标准令牌在价值上没有差别,而且不再适用于需要独特属性的资产,比如加密的收藏品和游戏道具。 ERC-721标准规定,每个符合其标准的令牌都有一个唯一的令牌标识。...在这个例子中,我们可以看到ERC20令牌和ERC721令牌之间的两个区别: 1.ERC-20标准的令牌没有价值区分,可以互换;ERC-721标准中的令牌不可互换,每个令牌都有唯一的标识。
什么是超流体? Superfluid 是一种可组合的 DeFi 原语,它允许您将令牌从一个地址逐秒传输到另一个地址。...这意味着您可以使用熟悉的工具(如 MetaMask)来批准交易。一个额外的好处是这些网络上的交易费用远低于主网以太坊。 为了将资产放到这些链上,您需要使用桥接器。...如何使用 Superfluid 进行流式传输: 你需要什么: 一个 web3 钱包 Polygon 网络钱包中的一些 Matic (可选)任何其他 ERC20 代币:如果您想传输 Matic 以外的代币...我还将假设您已经熟悉使用您的钱包软件批准交易。...您通常只需支付 1 gwei 作为 gas 价格即可完成交易。 步骤 4. 单击屏幕顶部的“发送”按钮,会弹出一个较小的窗口 现在您已经存入了一些代币,您可以通过单击“发送”来启动流 步骤 5.
目前绝大多数代币都基于 ERC20 标准。ERC20 后来变成了以太坊改进提案 20(EIP-20),但是大部分仍然使用它最初的名字,ERC20。...你可能想知道为什么。 ERC20 允许两种不同的工作流程。第一种是一笔交易,使用transfer函数的的简单流程。这个流程用于一个钱包发送代币到另一个钱包。 执行转账合约非常简单。...如果我们发送 MET 到一个合约地址又会发生什么呢? 首先,我们在测试环境部署另一个合约。这个例子,我们将直接用水龙头合约Faucet.sol。...ERC20 代币的问题 ERC20 标准的使用确实具有突破性,已经推出了上千种代币,既有新功能的实现,又有如众筹拍卖和 ICO 等各种资金筹集。...要发送以太币或者使用任何以太坊合约,你需要以太币来支付 gas。发送代币,你也需要以太币。你不能用代币为交易支付 gas,并且代币合约也不能为你支付 gas。
不过我想用一句最直截了当的话来介绍它: zkSync 是一个可以给你省下90% gas 费的转账工具? 好了,废话不多说,迅速开始!...分页中的 ”Deposit“,进入存款页面: 选择存入币种 输入存入金额 然后点击解锁键 (Unlock XXX token),MetaMask 将再次调起: 第一笔 gas...,点击 ”Confirm“,转几十个圈圈之后,交易完成,你会看到解锁键的变化: 点击 ”Deposit“,正式存款,MetaMask 再次调起: 正式的 gas 也来了,...点击 ”Sign“ 完成签名,解锁成功,填写: 转账数量 对方钱包地址,如果你之前在 ”Contact“ 中添加了该地址,此处会显示该账户昵称 请注意 ”Transfer“ 下方显示的 gas...---- 取款 在 ”My wallet“ 分页点击 ”withdraw“,进入取款页面: 填写: 取款币种 取款数量 选择 gas,费用低,转账速度慢,费用高,转账速度快,请自行选择