-凯发k8国际

`
xiangjie88
  • 浏览: 697012 次
  • 性别:
  • 来自: 深圳
博主相关
  • 博客
  • 微博
  • 相册
  • 收藏
  • 文章分类
    社区版块
    • ( 0)
    • ( 22)
    • ( 48)
    存档分类
    最新评论
    • : zjx20 写道digest[]的字节序貌似是反的,直接输出会 ...
    • : digest[]的字节序貌似是反的,直接输出会有问题 htt ...
    • : 妹子你砸是 搞c的
    • : ...
    文章列表
      博客分类:
    一.solidity 1.evm 不是基于寄存器的,而是基于栈的,因此所有的计算都在一个被称为栈(stack)的区域执行,最大有1024个元素,每个元素长度是一个字(256位) 1.1.收到一个区块时,会遍历里面的所有交易,然后将交易进行applymessage 1.2.取出当前的状态数据库,判断交易是转账还是合约交易 1.3.进到evm后,会先设置一个快照,方便revert后,undo回到快照. 1.4.对合约进行预编译判定,如果有预编译,则由可以执行合约 1.5.如果没有预编译,则由解释器对合约进行解释执行,通过本地的jump_table,取出对应的每一个"脚本"的执行函 ...
      博客分类:
    tornado:当用户将资金放入资金池(也称为存款)时,会生成一张私人票据。该私人笔记用作用户以后访问这些资金的私钥。要提取它们,同一用户可以使用不同的地址——旧地址或新地址——并通过这个私钥收回他/她的资金 存钱 5.1 链下计算好一个secret给用户,拥有这个数据相当于有提款的权利 5.1 链下计算要提交的数据(commitment) const preimage = secret nullifier; const commitment = pedersenhash(preimage); 5.2 存钱的时候将byte32的commitment数据上传,并将其作为叶子节点插入到一个m ...
      博客分类:
    opensea:其中链下的订单簿负责存储用户的挂单信息,并对订单进行撮合。最终的成交和转移 nft 是由 seaport protocol 来负责的。 seaport 采取了一种不同的方法:offerer 可以同意提供一定数量的 eth/erc20/erc721/erc1155 项目--这就是 offer。为了使该offer被接受,offerer必须收到一定数量的物品,这就是 consideration。 当 offer 是 erc721/erc1155 的时候,offerer 就是卖家,卖出 erc721/erc1155 来换取 eth/erc20。 当 offer 是 eth/erc20 ...
      博客分类:
    // contracts/box.sol // spdx-license-identifier: mit pragma solidity ^0.8.0; import "@openzeppelin/contracts/utils/address.sol"; import "hardhat/console.sol"; contract mytestcontract { function foo(uint i) view external { console.log("foo",i); ...
      博客分类:
    9.gmx:去中心化amm合约交易所,在arbitrum和avalanche网络发行版本,最高允许30倍杠杆.同时也支持swap,只不过用的是预言机的价格,所以没有无偿损失 9.1 用户类型: 散户和lp提供者,相当于散户和lp对赌的期货合约交易所,因为做合约输的机� ...
      博客分类:
    8.lido 8.1 lido收集到用户的 eth 后,会每次在以太坊智能合约上质押32个eth,dao就会从治理控制的注册表中选择一个新的验证者。然后调用存款合约,将32个eth 分配给该验证人,并生成 lido dao 的提款凭证。 8.2 在lido 中,steth 持有只能获得以太坊2.0质押奖励的 90%,5%分配给 lido 的节点运营商,5%给lido金库 8.3 lido的sttokens有两个版本,分别是steth和wsteth。这两种代币都是 erc-20 代币,但它们以不同的方式反映了应计的质押奖励。 steth 实施变基机制,这意味着 steth 余额会定期增加。 wst ...
      博客分类:
    7.dydx采用链下撮合链上结算的订单稀释模式,架设在以太坊二层网络starkware上,采用了starkex交易引擎,实现了资产的去中心化自托管 7.1 订单簿模式,下单和挂单是中心化的 7.2 在安全和私密性上,starkware的二层技术通过零识证明提高了安全性和隐私性,引擎不开源,去中心化程度不高 7.3 需要创建账户和充值usdc,eth...,项目方和coinbase有一定关链,使用的是usdc,杠杆最高20倍 7.4 项目方通过交易手续费获得收入,手续费比例最高为0.1%,可通过质押平台代币获得折扣,项目也通过交易挖矿等手段来激励交易量。交易挖矿会持续存在,每月为一个纪元,会有固定 ...
      博客分类:
    beacon a.implementation地址并不存放在proxy合约里,而是存放在beacon合约里,proxy合约里存放的是beacon合约的地址 b.在合约交互的时候,用户同样是和proxy合约打交道,不过此时因为proxy合约中并未保存implementation地址,所以它要先访问beacon合约获取implementation地址,然后再通过delegatecall调用implementation。 c.在合约升级的时候,管理员并不需要和proxy合约打交道,而只需要交互beacon合约,把beacon合约存储的implementation改掉就行了。 d.就是多个proxy共享 ...
      博客分类:
    a.proxy直接把所有的请求都通过delegatecall丢给implementation(如果是升级,implementation的升级函数会确认一下是否为管理员) b.需要实现_authorizeupgrade函数以确保只有管理员账户可以进行升级 c.升级函数upgradeto在implementation合约中 // spdx-license-identifier: mit pragma solidity >= 0.8.0; import "@openzeppelin/contracts-upgradeable/proxy/utils/initializab ...
      博客分类:
    transparent: a.如果proxy合约发现自己被proxyadmin合约调用,那么它会调用自身的函数代码;如果调用者是proxyadmin之外的账户,那么它会通过delegatecall去调用implementation的代码。这样就保障了合约升级的安全性。 b.升级函数在proxy里面,proxy里面的函数基本都有ifadmin修饰符校验 transparentadmin.sol // spdx-license-identifier: mit pragma solidity >= 0.8.0; import "@openzeppelin/contracts/ ...
      博客分类:
    const data = buffer.from('');//string转bytes let a = ethers.utils.formatbytes32string("6"); //string转bytes32
      博客分类:
    1.前置准备,运行一个新项目 mkdir my-project cd my-project npm init --yes npm install --save-dev hardhat@2.8.2 -g npm install --save-dev @nomiclabs/hardhat-truffle5 @nomiclabs/hardhat-web3 web3 2.console.log 适用于view,但不适用于pure,最多调用uint,string,bool,address4个参数 3.编译 npx hardhat compile 强制编译 npx hardhat compile --f ...
      博客分类:
    2.compound 2.1 存钱:不会1:1给ctoken,是1:50左右的比例,最开始是1/0.02,把用户转账过来的token存到资金池里,根据当前时刻的汇率给用户发放ctoken 2.2 抵押系数:对于抵押品ctoken来说每个市场都有一个抵押系数(collateral factor,或者叫抵押� ...
      博客分类:
    aave:去中心化借贷系统,aave借款人必须先提供抵押品才能借款。此外,他们只能借到他们发布的抵押品的价值。 1.用户抵押获取1:1的atoken,作为凭证.并且atoken无法交易 2.当用户从协议中贷出资产,获得 1:1 数量的 debt tokens.其中包括稳定利率债务币和浮动利率债务币 (usersstablerate * currentbalance amount * rate) / (currentbalance amount) 2.1 固定利率借贷:用户以固定利率借贷资产,将以当前固定利率来计息,不随市场波动,但不同时间贷款的固定利率可能是不同的,任何人每借一次钱, ...
      博客分类:
    multicall的solidity调用与ethers.js调用 // contracts/box.sol // spdx-license-identifier: mit pragma solidity ^0.8.0; import "@openzeppelin/contracts/utils/multicall.sol"; import "hardhat/console.sol"; contract testmulticall { function testmulticall(address addr) external ...
    global site tag (gtag.js) - google analytics
    网站地图