首页
学习
活动
专区
圈层
工具
发布

CREATE2 在广义状态通道中的使用

君士坦丁堡硬升级中引入了一个新操作码 CREATE2[1] ,它使用新的方式来计算常见的合约地址,让生成的合约地址更具有可控性,通过 CREATE2 可以延伸出很多新的玩法,这篇文章来探讨下,在广义状态通道中的妙用...合约地址如何计算出来的? 在 CREATE2 以前,CREATE指令创建的合约地址是通通过交易发起者(sender)的地址以及交易序号(nonce)来计算确定的。...(比如提前使用一个还未部署的合约地址),而使用 CREATE2 只需要确定了创建合约的代码(init_code)及盐(slat),则合约地址就是确定的(实际上让地址变成了对合约代码的验证)。...通过使用 CREATE2,可以在游戏合约不上链的情况下进行游戏,因为只要游戏的规则代码确定了,就可以确定游戏合约的地址,在链下就可以基于这个确定的合约地址进行签名玩游戏,甚至我们根本不需要部署游戏合约,...Counterfactual 官方的一个介绍是,在状态通道中,一个“Counterfactual X” 代表: •X 可以在链上发生,但它并没有。•任何参与者都可以单方面使得 X 在链上发生。

1.8K20

query_id和STATEMENT_ID在不同OS上的关系(从gdb到WinDeg)

问题描述之前有位大佬发现show engine innodb status中的query_id和performance_schema.events_statements_current中的STATEMENT_ID...印证了官方文档的说法, 看来我们问题确实结了!(第二层)不对啊, 文章开头看到的query_id和statement_id为啥不一样,还是没有解释啊. 难道说在输出方面懂了手脚?...源码:信息输出虽然定义上看, 两者是接近的, 均为8字节int. 但输出的时候,可能存在类型转换的可能....深入分析上面我们在linux环境上没有复现出来, 难道是我们分析得有问题吗? 代码都是那么写的啊! 不,错的不是我们,是世界 是操作系统....和我们在linux上测试的结果一致.再看看windows环境的纳尼, 确实被截断了, 符合文章开头的例子.那我们使用gdb来试试.很遗憾, 不得行....

46231
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Open ID Connect(OIDC)在 ASP.NET Core中的应用

    Identity Server4提供的OIDC认证服务(服务端) ASP.NET Core的权限体系中的OIDC认证框架(客户端) 什么是 OIDC 在了解OIDC之前,我们先看一个很常见的场景...在我们的网站集成微博或者新浪微博的过程大致是分为五步: 准备工作:在微信/新浪微博开发平台注册一个应用,得到AppId和AppSecret 发起 oAauth2.0 中的 Authorization...IdentityServer4.Models.GrantTypes这个枚举给我们提供了一些选项,实际上是把oAuth的4种和OIDC的3种进行了组保。...这样我们就不需要再向userinfo endpoint发起请求,从id_token中即可以获取到用户的信息。...= true, AllowOfflineAccess=true, }  这样我们在拿到id_token之后,里即包含了我们的用户信息。

    3.1K80

    Unity中Android 触发home,回收覆盖在UnityPlayerActivity上层的activity的问题

    问题 最近在开发一个Android SDK的项目,提供给游戏方接入,发现游戏是unity引擎;正常游戏都是只有一个activity(继承UnityPlayerActivity),但是SDK业务交互上需要特定场景会弹出一个或者多个新的...activity在UnityPlayerActivity上,这个时候如果安卓手机点击home回到桌面,再点击图标返回,发现除了UnityPlayerActivity,其他的activity都被回收了。...分析 将打包的apk解析出AndroidManifest.xml发现,UnityPlayerActivity在AndroidManifest.xml中的launchMode是singleTask,发现问题了...天真的想法一: 一开始天真的我发现,修改一下项目的AndroidManifest.xml中的UnityPlayerActivity的launchMode就ok了。...修改之后,重新运行项目,相同的操作,问题还是存在;于是我又重新反编译解析出apk的AndroidManifest.xml,惊讶的发现:在AndroidManifest.xml中的UnityPlayerActivity

    4.7K52

    在Mybatis的collection标签中获取以,分隔的id字符串

    有的时候我们把一个表的id以逗号(,)分隔的字符串形式放在另一个表里表示一种包含关系,当我们要查询出我们所需要的全部内容时,会在resultMap标签中使用collection标签来获取这样的一个集合。...这是一个门店表,service_ids是一家门店包含的所有的服务id Java实体类为 /** * 服务商门店 */ @NoArgsConstructor @Data public class Store...sequence,只有一个主键字段seq,里面放入尽可能多的从1开始的数字 ?...id in (#{service_ids})是取不出我们所希望的集合的,因为#{service_ids}只是一个字符串,翻译过来的语句例为id in ('1,2,3')之类的语句,所以需要将它解析成id...最终在controller中查出来的结果如下 { "code": 200, "data": [ { "address": { "distance":

    5.1K50

    机器学习在组合优化中的应用(上)

    但是就目前而言,求解器在求解效率上仍存在着问题,难以投入到实际的工业应用中,现在业界用启发式比较多。...(agent)在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题。...比如说在branch and price求解VRP类问题中,其子问题SPPRC的求解就是一个非常耗时的模块,如果利用机器学习,在column generation的每次迭代中能快速生成一些reduced...而动机(2)中的经验学习,是采用reinforcement learning从reward中不断修正自己(没有expert)。在动机(1)中,agent is taught what to do。...在贪心算法中,每次选择一个距离上次插入节点最近的节点,当然我们最直接的做法也是这样的。但是这样的效果,并没有那么的好,特别是在大规模的问题中。

    3.5K30

    浅谈CAS在分布式ID生成方案上的应用 | 架构师之路

    近几篇文章聊CAS被骂得较多,今天还是聊CAS,谈谈CAS在一种“分布式ID生成方案”上的应用。 所谓“分布式ID生成方案”,是指在分布式环境下,生成全局唯一ID的方法。...优化方案为: 利用双主保证高可用 定期删除数据 增加一层服务,采用批量生成的方式降低数据库的写压力,提升整体性能 增加服务后,DB中只需保存当前最大的ID即可,在服务启动初始化的过程中,首先拉取当前的...优化方案为: 冗余服务,做集群保证高可用 冗余了服务后,多个服务在启动过程中,进行ID批量申请时,可能由于并发导致数据不一致: ?...select max_id from T; 如上图所示,两个id-service在启动的过程中,同时拿到了max-id为100。 两个id-service同时对数据库的max-id进行写回: ?...CAS在分布式ID生成方案上的一种应用,更多的分布式ID生成方案,请参考《细聊分布式ID生成器架构》。

    1.3K40

    CSS中的float定位技术在iOS上的实现

    ,并浮动到容器视图的最左边的(0,180)的位置上。...这里的比重的设置,是在整体布局视图的浮动的方向的设定上的,就是说当整体的布局视图里面的视图是支持左边和右边浮动时则这个比重指定的是视图的宽度的相对比例值,而当布局视图支持的是上边和下边浮动时则这个比重指的是视图的高度的相对比例值...我们来考察当D视图向左浮动要插入到容器视图时,我们发现如果视图D浮动到视图C的右边并且上边和视图C保持一致时,视图D的布局宽度将会覆盖掉视图B的部分空间,如果出现了覆盖则是不符合浮动布局规则5中的定义的...,而向右浮动的视图的剩余宽度的左边界是在不覆盖掉左边视图的情况下的最大向左浮动的视图的右边界。...浮动布局的停靠属性 我们看到浮动布局视图里面还有一个gravity属性,这个属性在左右浮动布局视图中可以用来设置所有子视图的整体的上,中,下三种停靠模式,而在上下浮动布局视图中则可以用来设置所有子视图的整体的左

    2.9K20

    Raft 算法原理及其在 CMQ 中的应用(上)

    随着互联网时代数据规模的爆发式增长,传统的单机系统在性能和可用性上已经无法胜任,分布式系统具有扩展性强,可用性高,廉价高效等优点,得以广泛应用。 但与单机系统相比,分布式系统在实现上要复杂很多。...它们在保证CP的前提下,只要求大多数节点可以正常互联,系统便可以一直处于可用状态,可用性上显著提高。...鉴于以上分析,我们设计开发了基于Raft的强一致高可靠消息中间件CMQ。接下来会详细介绍raft算法原理细节、如何应用在CMQ中在保证消息可靠不丢失以及实现过程中我们在性能方面所作的优化。...日志冲突: 在日志同步的过程中,可能会出现节点之间日志不一致的问题。例如Follower写日志过慢、Leader切换导致旧Leader上未提交的脏数据等场景下都会发生。...添加节点 如下图所示,集群中包含A B C,A为Leader,现在添加节点D。 1)清空D节点上的所有数据,避免有脏数据。

    6.6K11

    ActiveRecord入门教程:Ruby的ORM神器

    在ActiveRecord的世界里:- 数据库表 → Ruby类- 表中的一行 → 类的一个实例- 表中的列 → 实例的属性这种映射关系让我们能够用面向对象的方式来思考和操作数据,而不必直接处理SQL查询...- 再也不用担心手动修改数据库结构了跨数据库兼容性 - 同样的代码可以操作不同的数据库(MySQL、PostgreSQL等)开始使用ActiveRecord安装如果你是在Rails环境中使用,ActiveRecord...不需要定义属性或方法,ActiveRecord会自动从数据库表中读取列信息,并为每一列创建对应的访问器。...puts user.errors.full_messagesend```回调方法ActiveRecord允许你在模型生命周期的不同阶段运行代码:```rubyclass User ActiveRecord...(我反正是这么觉得的!)当然,ActiveRecord也不是万能的。在处理特别复杂的查询或者极高性能要求的场景,有时直接使用SQL或者其他专门的查询工具可能更合适。

    13910

    笔记·在 Python 异步上下文应用中拿到 100% 的代码覆盖率

    这个项目是一个基于 FastAPI + SQLAlchemy 的后端服务,并在 tests 文件夹中存放了所有的测试实例第一次测试理论上,我们的测试已经涵盖了所有的 API 接口,按理说我们理应得到...100% 覆盖率并非所有的测试都能覆盖代码中的每一处角落,比如入口函数和部分异常处理就无法被覆盖,而你也不想再在这些地方浪费时间撰写测试,所以我们可以在代码覆盖率计算中屏蔽它们一般来说我们通常使用 omit...这些文件的代码覆盖率将不纳在最终计算中[tool.coverage.run]omit = [ "app/deps/sql.py", "app/core/sql.py", "app/main.py...实际上,当我在面对同样的问题时,我尝试和我的 ChatGPT 和 Gemini 朋友交流,但他们并不能给我一个满意的答案,所以我把目光投向了网络搜索引擎和在线论坛,结合文档,我才终于找到问题产生的原因和解决方式...在 AI 发展的浪潮中,使用 AI 进行辅助开发确实是一个能够极大提高效率的手段,但与此同时这也对开发者们提出了更高的要求。

    14900

    Segment Routing 在大规模数据中的应用(上)

    接下来我们来看如何在DC中应用基于MPLS的数据平面的SR。 3.在MPLS数据平面中应用Segment Routing ?...这里为了展示,在MPLS平面中,192.0.2.x/32的label-index就是X, BGP-Prefix-SID 就是16000+X。...2和Tier-1使用MPLS作为转发平面 Tier-3要么使用IP2MPLS(如果host发送IP流量或者MPLS2MPLS(host发送MPLS封装流量) 在图2中我们专注于从Server A到Server...3.2.2 数据平面 根据上面控制平面, 我们在每个节点上建立了IP/MPLS转发表: ? 看到这里帅气的读者可能已经在脑海中形成了一副经典的报文转发图,所以我就不画了。...同时还有些特别帅气的读者发现了这些规律: Segment ID是重用了MPLS Label SR不需要使用LDP等标签分发协议 这里标签在中间节点的时候没有SWAP的动作?

    1.6K50

    在iOS中怎样创建可展开的Table View?(上)

    .然而,如果你只是使用可展开的tableview,有时也可能避免创建视图控制器(以及在storyboard中它们各自的场景)....,在大多数情况下可以被重复使用.所以,说了这么多,前往下一个部分体会我们将在此次教程中处理的内容吧....现在是最好花费你时间的时候了,更彻底地看这些属性以及所有那些我们将要显示在tableView上cell的值.在我们处理所需的代码时候,通过cell描述很容易理解,我们需要为创建并且管理可扩展的cell所写的已经明显变少了...visibleRowsPerSection数组中先前所有的内容,否则随后我们在调用这个函数的时候会得到错误的数据....关于包含开关控件的cell,我们需要做有两件事:在开关显示之前,我们就需要制定它的显示文本(在我们的例子中是不变的,你可以在CellDescriptor.plist文件里修改里卖弄的值),之后我们就看到了开关的状态

    2.7K50

    web_for_pentest_II writeup

    比较清晰,大概是说cookie里面有个字段是user,修改为admin就可以了 example4 和上题差不多。...大概意思是说cookie不会改变,意味着cookie中存储了账号密码的信息,就好像如果你使用干净的浏览器,你不会两次都得到相同的cookie,除非cookie中存储着什么。...看起来没错,是注册的时候判断没有做大小写判断,于是产生了注册覆盖,那么注册一个Admin就可以过了 example6 To remediate the previous issue, the developer...不知道为什么这类型的题目都会报500,没办法,只能看官方文档猜猜看,基本说的很清楚,mysql会忽略尾随在字符串后面的空格,利用这种方式,就可以进行注册覆盖了,还是比较简单的。...他推荐了ocr tool这个工具,在识别的时候还可以加一些优化,剔除一些不是单词的,在剔除一些只有小写字母的。 example7 只是加了一些蓝色的线基本是不解决问题的,很容易处理这样的图片。

    44350

    分布式唯一ID生成:深入理解Snowflake算法在Go中的实现

    今日推荐:学习实践|MacOS上的split工具文章链接:https://cloud.tencent.com/developer/article/2466073以前遇到大文件切割之类的,我都是直接写了一个...在分布式系统中,为了确保每个节点生成的 ID 在整个系统中是唯一的,我们需要一种高效且可靠的 ID 生成机制。分布式 ID 的特点全局唯一性:不能出现有重复的 ID 标识,这是基本要求。...递增性:确保生成的 ID 对于用户或业务是递增的。高可用性:确保任何时候都能生成正确的 ID。高性能性:在高并发的环境下依然表现良好。...分布式 ID 的应用场景不仅仅是用于用户 ID,实际互联网中有很多场景都需要能够生成类似 MySQL 自增 ID 这样不断增大,同时又不会重复的 ID,以支持业务中的高并发场景。...在具体应用中,我们可以根据需求选择适合的库,以确保系统的高效性和稳定性。

    49010

    HTTP协议中的401授权认证机制在iOS上的实现

    ) -(id)initWithTrust:(SecTrustRef)trustNS_AVAILABLE(10_6,3_0); 上面的2中证书中都有一个persistence值,这是一个枚举值用来描述这个凭证的保存策略...NSURLCredentialPersistenceForSession, //只在本次会话中有效 NSURLCredentialPersistencePermanent //永久有效,保存在钥匙串中,...,类中描述服务器中希望的认证方式以及协议,主机端口号等信息。...也就是客户端在处理willSendRequestForAuthenticationChallenge函数的最后必须指定接收挑战的方式。客户端可以调用sender中的协议指定的方法来执行接收挑战的方式。...因此有的时候我们可以在系统中预先植入一些特定服务器的保护空间和凭证,这样我们就不需要去处理willSendRequestForAuthenticationChallenge函数了,这种机制特别有效的用于处理

    1.7K30

    Rust Web 生态观察| SeaORM :要做 Rust 版本的 ActiveRecord

    无论如何,Rust 在 Web 开发领域的生态在逐步成型。...希望能给大家提供一个视角,来客观地 了解 Rust 在 Web 开发领域的发展。 Rust ORM 生态 Rust ORM 生态中,最早的 ORM 是 Diesel[1]。...至少你现在已经对 ActiveRecord 有了一个初步的印象: 数据模型 和 数据表 存在一一映射的关系,命名上甚至可能还有默认约定存在。...// Entity 必须是有 Entity Name 的,并且要实现 // 这种写法避免了泛型限定过长 // `Iden` 是在 SeaQuery 中定义的,它表示任意查询语句中的标识符,可以转换为字符串...在同一个 接口 后面,统一支持MySQL、Postgres和SQLite。它类似于 Rails 的 ActiveRecord ORM 框架的 Arel[13] 组件。

    11.9K20
    领券