- A+
前言
基于 BTC 去做资产发行,一直都是一个热点话题。从最早在 2011 年出现的 Colored Coins 到近来大火的 Ordinal 协议,BTC 社区其实总能涌现出新的玩家和共识,但是能留下的寥寥无几。但随着野心勃勃的 Lightling Labs 宣布自己在 Taproot Assets 至上构建 Stable Coin 的计划,Tether 也宣布将选择 RGB 进行 USDT 在比特币一层的铸造。
这代表着曾经名噪一时的OmniLayer(Mastercoin)不再是BTC生态最大的玩家,客户端验证(CSV)资产协议由开始进入大家的视野,与传统的BTC资产协议的不同在于,它们还带上了为BTC扩容的属性。但是面对BTC生态如此繁多的资产协议,人们不禁要问,他们的差别在哪里,面对如此众多的资产协议,我们该如何去选择和并且从中找到自己的机会。
本文旨在引导读者回顾比特币历史上出现的各种资产协议,深入研究基于比特币的资产协议在可预见的未来发展的潜在轨迹。
染色币:Colored Coins
Colored Coins的想法最早由Yoni Assia,现eToro的CEO,在2012年3月27日的编写的一篇名为bitcoin 2.X (aka Colored bitcoin)文章提出。 文章认为比特币作为底层技术是完美的,就像HTTP是网络的基础一样。因此在复用BTC的基础上去设计了Colored Coins这个代币协议。
Yoni Assia希望通过这样的形式创建BTC2.0的经济-任何社区都可以通过这种方式来创建多种货币。这种将比特币作为底层技术用于清算交易和避免双重支付的方式在当时无疑于是非常大胆的想法。
Colored Coins作为一种基于比特币发行资产的协议,其做法就是将一定数量的比特币“上色”以表示这些资产。这些标记的比特币在功能上仍然是比特币,但它们同时也代表了另一个资产或价值。但是这样的想法该如何在比特币上实现呢?
2014 年 7 月 3 日,ChromaWay 开发了增强型基于填充订单的着色协议(EPOBC),该协议简化了开发人员制造彩色硬币的过程,这便是最早采用 Bitcoin Script 的OP_RETURN
功能的协议。
最终实现的效果如下图所示:
这样的实现非常简洁,但是由此也带来了很多问题:
- 同质化代币与最小绑定值在创世交易中为某个染色币绑定了1000 sat,则该染色币的最小分裂单位为1 sat。这意味着该资产或代币可以被切分或分配为最多1000份(但是仅为理论上的,为了防止粉尘攻击,比如当年的sat都定在546 SAT,后面到ordinal则是更高)。
- 验证问题为了确定染色币的真实性和其所有权,需要从该资产的创世交易追踪验证到当前的UTXO。因此需要专门开发钱包与配套的全节点,甚至是浏览器。
- 潜在的矿工审查风险因为ColoredTransaction的特征较为明显,即在output中写入了metadata信息,这给矿工审查带来了可能性。
染色币实际上是一种资产跟踪系统,它使用比特币的验证规则来追踪资产转移。不过,为了证明任何特定的输出(txout)代表某一特定资产,需要提供一整条从资产起源到现在的转移链。这意味着验证某笔交易的合法性可能需要很长的证明链。为了解决这个问题当初也是有人提出了OP_CHECKCOLORVERIFY来帮助在btc上直接对Colored Coins的交易正确性进行验证,但是该提案也并没有通过。
加密行业的第一个ICO:Mastercoin
Mastercoin 的最初概念由 J.R. Willett 提出。在2012年,他发布了一个名为"The Second Bitcoin Whitepaper"的白皮书,描述了在比特币的现有区块链上创建新的资产或代币的概念,这后来被称为“MasterCoin”。而再后来则改名为Omni Layer。
Mastercoin项目在2013年进行了一个初步的代币销售(今天我们称之为ICO或初始代币销售),并成功筹集了数百万美元,这被认为是历史上第一个ICO。Mastercoin最著名的应用则是Tether (USDT),作为最知名的法币稳定币,最初是在Omni Layer上发行的。
其实Mastercoin的想法是要比Colored Coins出现得要早的,之所以在这里放在第二个去讲,是因为相对于Colored Coins来说,MasterCoin是一个相对来说更重的方案。MasterCoin建立了一个完整的节点层,从而提供了更为复杂的功能(如智能合约),Colored Coins则更加简单和直接,主要侧重于“染色”或标记比特币UTXO,以代表其他资产。
与Colored Coins最大的不同是,在链上Mastercoin只会去发布各种类型的交易行为,而不会记录相关的资产信息。在Mastercoin的节点中,会通过扫描比特币区块来维护一个状态模型的数据库在链下的节点中。
相对于Colored Coins来说,其能完成的逻辑要更加复杂。并且由于不在链上记录状态和进行验证,所以其交易之间可以不要求连续(持续染色)。
但为了实现Mastercoin的复杂逻辑,用户需要去相信节点中的链下数据库中的状态,或者自己允许Omni Layer节点来进行验证。
总结:
Mastercoin与Colored Coins最大的差异在于,其没有选择在链上维护协议所需的所有数据,而是通过寄生了BTC的共识系统,来实现了自己交易发布和排序,然后在链下数据库中维护状态。
据OmniBolt的相关提供的消息:Omni Layer正在向泰达提出新UBA(UTXO Based Asset)资产协议,会利用Taproot升级,把资产信息编入tapleaf,从而做到条件支付等功能。与此同时OmniBolt正在将Stark引入OmniLayer的闪电网络设施。
客户端验证(Client Side Validation)思想
如果我们要去了解客户端验证的概念,那么我们就要把时间拉回到Colored Coins和Mastercoin出现的第二年,那便是2013年。Peter Todd在这一年发布文章:Disentangling Crypto-Coin Mining: Timestamping, Proof-of-Publication, and Validation。虽然看文章名字上去和客户端验证没有关系,但是仔细阅读便可以发现这便是最早关于客户端验证的启蒙思想。
Peter Todd是比特币和密码学的早期研究者,一直在寻找一种使比特币工作方式更高效的方法。他基于时间戳的概念开发了一个更为复杂的客户端验证概念。此外,他还提出了“single use seal”的概念,这将在后面有所提及。
现在让我们顺着Peter Todd的思想,先要去了解BTC实际上解决了什么样的问题。在Peter todd看起来BTC总共解决了三个问题:
- 证明的发布(Proof-of-publication)证明的发布本质是解决双花问题,比如Alice有一些比特币想要转给Bob,虽然通过签署了一笔交易转账给了Bob,所以Bob在物理上并不一定知道有这么一笔转账的存在。所以我们需要一个公共的地方进行交易的发布,并且每个人可以从中对交易进行查询。
- 交易定序(Order consensus)在计算机系统,并不存在我们平常感受的物理时间。在分布式系统这个时间通常是分布式时钟lamport,这个时钟并不是为我们的物理时间提供度量,而是为我们的交易进行定序。
- 交易验证(Validation)(可选项)BTC上的验证便是关于签名和BTC转账金额的验证。但是在这里,Peter Todd认为这个验证对于在BTC之上构建一个代币系统是非必要的,只是一个优化选项。
大家看到这里其实已经想到之前提到的Ominilayer,OminiLayer本身并没有把状态的计算和验证交给BTC,但是它同样复用了BTC安全性。Colored Coins则是把状态的追踪交给了BTC。这两者的存在已经证明了验证并不一定要发生在链上。
那么客户端验证如何有效验证交易?
首先来看看哪些东西是需要被验证的:
- 状态(交易逻辑验证)
- 输入TxIn是否有效(防止双花)
很容易可以发现在btc上发布的资产,每次交易都需要校验整个相关的交易的历史,才能确保引用的输入是没有被消费并且状态是正确的。这非常不合理,那么如何去改进呢?
Peter Todd认为,我们可以通过改变验证的焦点来简化这一过程。而不是确认一个输出没有被双重支出,这个方法重点放在了确认交易的输入已被发布,并且没有与其他输入冲突。通过对每个区块中的输入进行排序和使用Merkle树,可以更高效地进行这种验证,因为每次验证都只需要一小部分的数据,而不是该输入的整个链上的历史。
Peter Todd提出的commitment tree结构如下:
CTxIn -> CTxOut -> <merkle path> -> CTransaction -> <merkle path> -> CT= xIn
但是我们该如何在链上存储这样一个commitment tree呢?所以在这里我们就可以引出一次性密封(single use seal)的概念了。
一次性密封 Single Use Seal
Single use seal是理解客户端验证的核心概念之一,这与实际世界中用于保护货运集装箱的物理、单次使用的密封相类似。Single use seal是一个独特的对象,可以确切地在一个消息上关闭一次。简言之,一次性密封是一个抽象的机制,用于防止双花。
对SealProtocol来说,有三个要素,两个动作。
基础要素:
l
: seal, 即是密封m
: message, 消息w
:witness, 见证人
基本操作:有两个基础操作:
Close(l,m) → w
:在消息m
上关闭密封l
,产生一个见证人w
。Verify(l,w,m) → bool
:验证密封l
是否在消息m
上被关闭。
single use seal的实现在安全性方面是无法被攻击者找到两个不同的消息m1
和m2
,并使得Verify函数对同一个密封返回true
的。
首先一次性密封(Single-Use Seal)是一个概念,它确保某种资产或数据只被使用或锁定一次。在比特币的环境中,这通常意味着一个UTXO(未使用的交易输出)只能被消费一次。因此,比特币交易的输出可以被看作是一次性密封,而当这个输出被用作另一个交易的输入时,该密封就被“打破”或“使用”了。
对于在BTC上的CSV资产来说,比特币自己就充当了一次性密封的“见证人”(witness)。这是因为,为了验证一个比特币交易,节点必须检查交易的每个输入是否引用了一个有效且尚未花费的UTXO。如果一个交易试图双重花费一个已经被使用的UTXO,那么比特币的共识规则和全网的诚实节点会拒绝该交易。
能不能再简单一点?
single use seal 就是把任意一个区块链当作一个数据库,我们将某个消息的承诺通过某种方式存入这个数据库里,并且为它维护一个已消费或者待消费的状态。
是的,就是这么简单。
综上所述,客户端验证的资产有以下特点:
- 链下数据存储:客户端验证的资产其交易历史、所有权和其他相关数据大多数都存储在链下。这大大减少了链上的数据存储需求,并有助于提高隐私。
- 承诺机制:虽然资产数据存储在链外,但对这些数据的更改或转移会通过承诺(commitments)被记录到链上。这些承诺使得链上的交易能够引用链外的状态,从而确保链外数据的完整性和不可篡改性。
- 链上见证者(不一定是BTC):虽然大部分数据和验证都在链外,但通过嵌入到链上的承诺,客户端验证的资产仍然可以利用基础链的安全性(证明的发布,交易的排序)。
- 验证工作在客户端完成:大部分验证工作都在用户设备上完成。这意味着不需要全网节点都参与验证每笔交易,只有涉及到的参与者需要验证交易的有效性。
对于使用客户端验证资产的人来说,还会有一点需要注意:
在链下交易和验证客户端验证的资产的时候,不仅要出示持有资产的私钥,也要同时出示对应资产的完整的merkel路径的证明。
客户端验证(CSV)的先行者:RGB
RGB的概念在2015后由社区中的知名人物Giacomo Zucco提出,由于以太坊的兴起和ICO开始泛滥,以及在ICO之前,许多人都尝试在比特币之外做一些事情,如Mastercoin和Colored Coins项目。
Giacomo Zucco对此表示失望。他认为这些项目都不如比特币,并且他认为之前在比特币上实现代币的方式都不恰当。在此过程中,他遇到了Peter Todd,对Peter todd在客户端验证(Client-Side-Validation)的想法开始着迷。便开始提出了RGB的想法。
RGB同此前的资产协议的最大的区别除了之前提到的客户端验证资产的那些特点,还增加了执行的VM来进行图灵完备的合约执行引擎。此外为了保证合约数据的安全性,还设计了Schema和Interface。Schema和以太坊的比较相似,声明合约的内容和功能,而Interface则负责具体功能的实现,与编程语言中的interface一样。
这些合约的schema负责在vm执行的时候限制没有超出预期的行为,比如RGB20和RGB21,分别负责同质化代币和非同质化代币在交易上的一些限制。
RGB 的承诺机制 PerdersenHash
从承诺机制来看,RGB采用了Perdersen哈希。它的优点在于可以承诺某个值而不用披露它。将 Pedersen 哈希用于构建 Merkle 树意味着你可以创建一个隐私保护的 Merkle 树,它可以隐藏其中的值。这种结构可用于某些特定的隐私保护协议中,如一些匿名加密货币项目。但是也许并不适用于CSV资产,在后面和Taproot Assets的对比里会提到。
RGB 的虚拟机设计 Simplicity → AluVM
RGB的目标不仅在于实现一个客户端验证的资产协议,更在于在扩展到图灵完备的虚拟机执行和合约编程进行扩展。在早期的RGB的设计中,它声称自己是用一个叫Simplicity的编程语言,该语言的特点是在执行表达式的时候会产生一个执行证明,并且能对其编写的合约更容易去做形式化验证(避免产生bug)。但是该语言的开发并不理想,最后陷入了困境。这最后直接导致了当年RGB整个协议难产。最后RGB开始使用一个叫AluVM,由Maxim开发的VM,目标是避免任何未定义的行为,这和最初的Simplicity类似。 新的AluVM据称在未来会使用一门叫Contractum的编程语言来替换当下使用的Rust。
RGB layer2扩容方向:闪电网络还是侧链?
客户端验证资产没有办法在链下保证安全的情况下连续交易的。因为客户端验证的资产还是依赖L1去进行交易发布和定序,所以在没有L2扩容方案的时候,其交易速度还是会受到其L1见证者的出块速度限制。这代表如果直接在比特币上进行RGB的交易,在严格的安全要求下,两笔相关的交易的时间需要最长间隔十分钟(BTC的出块时间)。毫无疑问,在大部分的时候这样的交易速度是难以接受的。
RGB与闪电网络
闪电网络的原理简单来说,就是交易的双方之间会在链下签一堆合同(承诺交易),用于保证交易双方中任何一方在违背合同的情况下,被侵害的一方能够把合同(承诺交易)递交到BTC进行结算,取回自己的资金并惩罚对方。也就是说闪电网络是通过协议和博弈的设计,保证在链下交易的安全性。
RGB可以通过设计适用于RGB自己的支付通道合同细则来构建自己的闪电网络设施,但闪电网络的复杂度极高,构建这套设施并不是容易的事。但相对于Lightnling labs已经在这个领域的多年耕耘,并且LND在市场上有着超过90%的占有率。
RGB 的侧链 Prime
LNP-BP作为当下RGB协议的维护者,Maxim在2023年6月发布了一篇提案叫Prime的客户端验证资产扩容方案,并在其中批评了现有的侧链和闪电网络扩容方案在开发方面太复杂。Maxim表示他认为除了Prime以外的扩展方式还有NUCLEUS多节点闪电通道和Ark/Enigma通道工厂,这两个方案都需要开发两年以上。但是Prime仅需要一年便可以完成。
Prime并非传统意义上的区块链设计,而是一个为客户端验证设计的模块化证明发布层,其由四个部分组成:
- 时间戳服务 最快10秒最终确定一个交易序列。
- 证明 通过PMT形式存储与区块头一同生产和发布。
- 一次性密封 抽象的一次性密封协议,保证防双花即可。在比特币上实现,则是可以绑定到UTXO,与当下RGB设计类似。
- 智能合约协议 分片合约-RGB(可替换)
从中其实可以看到,为了解决RGB交易确认时间的问题,Prime采用了一个时间戳服务来快速将链下的交易确认,并且将交易和ID装入区块中。并且于此同时可以把prime上的交易证明进一步通过PMT合并后再以类似checkpoint的方式锚定上BTC。
基于 Taproot 的 CSV 资产协议:Taproot Assets
Taproot Assets是基于Taproot的CSV资产协议,用于在比特币区块链上发行客户端验证的资产,这些资产可以通过闪电网络进行即时、大容量、低费用的交易。Taproot Assets 的核心是利用比特币网络的安全性和稳定性以及闪电网络的速度、可扩展性和低费用。该协议是由Lightnling labs的CTO roasbeef设计并开发,roasbeef可能是这个星球上唯一亲自主导过比特币客户端(BTCD)和闪电网络客户端(LND)的比特币研发,对BTC的理解极深。
Taproot交易只携带了资产脚本的根哈希,使得外部观察者难以辨识是否涉及Taproot Assets,因为哈希本身是通用的,能代表任意数据。随着Taproot升级,比特币获得了智能合约(TapScript)的能力。在此基础上,Taproot Assets的资产编码相当于创建了一个与ERC20或ERC721相似的代币定义。这样,比特币不仅拥有了资产定义的功能,还具备了智能合约的编写能力,从而为比特币打下了代币智能合约基础架构的雏形。
Taproot Assets编码结构如下:
同样作为CSV资产协议,Taproot Assets相对于RGB的设计更加简洁。并且最大利用了当下BTC生态的进展,比如Taproot升级,PSBT等。Taproot Assets在应用扩展性上同RGB最大的差异在于执行VM,Taproot Assets使用的是和BTC原生默认相同的TaprootScriptVM。近些年许多针对BTC的基础设施研究都是基于TapScript进行的,但受限于BTC的升级缓慢在短时间内得不到应用,可预见Taproot Assets未来会是这些新鲜想法的试验田。
Taproot Assets和RGB的差异在哪里?
1. 交易的校验与轻节点友好性
Taproot Assets由于sum tree的实现,验证效率和安全性高(仅通过持有证明便可以进行验证状态和进行交易,不需要遍历输入所有的交易历史)。RGB使用的pedersen承诺导致其无法有效去验证输入的有效性,导致RGB需要回溯输入的交易历史,交易衍生到后期将会是一个非常沉重的负担。Merkel sum的设计,也让Taproot Assets轻松实现了轻节点验证,这相对于以往在BTC之上的资产协议都不存在的。
2. 执行VM
Taproot Assets是顺应Taproot升级而生,其使用的TaprootScriptVM是比特币在Taproot升级后自带的脚本执行引擎,并且使用的vPSBT是BTC的PSBT的翻版,这代表一旦Taproot Assets的闪电通道机制开发完成,可以立刻复用所有当前LND的基础设施,还有以往Lightning labs的产品(LND在闪电网络目前的占有率在90%以上)。并且最近火热的BitVM提案都是基于TaprootScript的,理论上所有的这些改进最后都可以助力Taproot Assets。
但是对于RGB而言它的VM还有验证规则(SCHEMA)都是自成体系的,从某种程度上是一个相对封闭的小生态。基于RGB的构建只能在自己的生态里运转,其和比特币生态的关系都不如大家想象那般紧密。以Taproot升级的跟进举例,RGB和Taproot 升级唯一的关系便是把链上承诺数据编码到Witness的TapLeaf中。
3. 智能合约
当下RGB的实现设计里,合约和VM是一个被浓墨重彩的部分。但是在Taproot Assets中,暂时没有看到智能合约的身影。不过当下RGB在当下Global State的修改如何跟各个独立合约分片(UTXO)进行同步还没解释。且Pedersen承诺只能对资产总数进行保证,对于别的状态如何保证篡改被识别,目前看起来也没有更多解释。而对于Taproot Assets来讲,虽然设计简洁,但目前对于状态的存储也仅有资产余额,并没有更多状态,暂无法谈智能合约。不过据Lightning Labs透露,明年Taproot Assets将会在智能合约设计上发力。
4. 同步中心
从之前提到的在客户端验证的资产的基本原则中可以了解到,持有Proof和持有私钥同样重要,但是Proof一直在用户客户端则可能会是容易丢失的,那又该怎么办呢?在Taproot Assets中,我们可以通过universe来避免这样的问题。Universe是一个公开可审计的稀疏 Merkle shu,覆盖一个或多个资产。与普通的Taproot资产树不同,Universe不用来托管Taproot资产。相反,Universe承诺了一个或多个资产历史的子集。
在RGB之中负责这个部分的则是Storm,会把链下的证明数据通过p2p的方式进行同步存储,但是由于RGB的开发团队的历史原因,这些团队的证明格式目前都各不兼容。RGB生态团队DIBA目前则是表示会开发 carbonado 来解决这个问题,不过尚不清楚进度。
5. 工程实现
Taproot Assets所使用的所有lib都是久经考验的,因为Lightning labs有自己的比特币客户端(BTCD),闪电网络客户端(LND),以及大量wallet lib实现。反观RGB实现所用的lib大部分来自自己定义,从工业标准看RGB的实现尚处于实验室阶段。
浅谈 BTC 扩容的未来
讨论到这里,大家也就发现了客户端验证的资产协议已经脱离了协议的范畴,开始迈向了计算扩容方向。
很多人都说未来比特币将作为数字黄金去存在,而由其他链去打造应用生态。但是对此,我有不同的看法。就像在btc论坛上很多讨论都是关于各种山寨币(alt-coin)和它们短暂的生命。这些山寨币的快速的消亡,让曾经围绕它们的资本和努力都化为泡沫。我们已经有了比特币这样强大的共识基础,没有必要为了应用协议去构建新的L1。我们要做的就是如何将比特币这个最强的基础设施用好,从而构建一个更长期的去中心化的世界。
更少的链上计算,更多的链上验证
从应用设计来看,比特币很早选择了不是以链上计算为核心目标,而是以验证为主的设计哲学(Turing completeness and state for smart contract)。区块链本质是一个复制状态机,如果一个链的共识放在了链上计算,那么其实我们很难说最后让网络里所有的节点都重复这些计算是合理可扩展的做法。若是以验证为主,那么通过验证链下交易的有效性可能是最适合BTC扩容的方案。
验证发生在哪里?这很重要
对于在比特币之上的协议开发者而言,如何使用比特币做关键的验证,甚至说是把验证放在链下,如何设计安全方案,其实都是协议设计者自己的事情,不需要也不应该和链本身有所关联。那么如何实现验证,就会衍生出BTC不同的扩容方案。
那么基于验证实现的视角,我们有三个扩容的方向:
- 验证发生在链上(OP-ZKP)如果在TaprootScriptVM直接去实现OP-ZKP,相当于让BTC本身加入ZKP验证的能力,从而再配合一些Covenant设计结算协议,就可以打造出能够继承BTC的安全性的Zk-Rollup扩容方案。但是不同于在以太坊上部署一个验证合约,BTC的升级本身就缓慢,再加入这样非通用并且可能需要后续升级的op-code注定是艰难的。
- 验证发生在半链上 (BitVM)BitVM的设计注定了它不会是为了普通的交易逻辑服务,Robin linus也表明了BitVM的未来是做各个SideChain的自由跨链市场。之所以说BitVM的方案是发生在半链上,是因为大部分时候这些验证计算都不会在链上发生,而是说发生在链下。但是围绕BTC的Taproot去设计的重要原因是为了在必要的时刻也能够利用TapScriptVM进行计算验证,这样也是为了从理论上继承BTC的安全性。在这个过程中也同时产生了一个验证信任链条,比如n个验证人里只要有一个是诚实的就行,也就是Optimistic Rollups。BitVM在链上的开销巨大,但是能够使用ZK欺诈证明进行效率提升吗?答案是否定的,因为ZK欺诈证明的实现是建立在链上可以进行ZKP的验证的基础上,这就回到了OP-ZKP方案的困窘。
- 验证发生在链下 (Client-Side-Validation, Lightning Network)验证完全发生在链下,那就是之前的讨论过这些CSV的资产协议还有闪电网络了。在之前讨论里可以看到在CSV的设计里,我们没有办法完全杜绝共谋篡改的发生,我们能做的就是利用密码学和协议设计让这种恶意共谋伤害的范围在可控范围内,使得这种行为无利可图。在链下验证的优点和缺点同样是非常明显,优点在于对链上的资源占用极少,扩容的潜力巨大。缺点则是几乎不可能去完全复用到BTC的安全性,这就对能进行的链下交易类型和交易方式有了极大的限制。并且链下验证也同时代表数据都在链下,由用户自行保管,这对软件执行环境安全性还有软件的稳定性上提出了更高的要求。
扩容演进的趋势
当下在以太坊流行的Layer2从范式上来讲,是通过Layer1去验证了Layer2的计算有效性,也就是把状态计算下推到了Layer2,但是验证还是保留在Layer1之上。在未来我们可以把验证计算同样下推到链下,进一步释放当下区块链基础设施的性能。
本文是全系列中第176 / 271篇:行业技术
- redhat双网卡绑定
- redhat下迁移数据库(从文件系统到asm)
- 10.2.0.1g+RAC+裸设备+aix6106+HACMP5.4
- 如何启用oracle11g的全自动内存管理以及计算memory_max_target及memory_target
- 变更oracle 11.2.0.3 rac sga手工管理为sga及pga全自动管理
- redhat(centos) 下oracle11g(11.2.0.4)单机环境搭建DG ASM 多路径
- redhat linux下装oracle11gRAC (11.2.0.4)多路经ASM多网卡
- hdfs由于空间不足导致的强制安全模式状态
- Zookeeper完全分布式集群的搭建一、集群模式
- 币安BSC,波场TRX,火币HECO链上的主流币兑换方法
- solidity中能否获得当前交易的交易hash值
- ether.js中接收solidity合约中返回的多个值的处理方式
- ether.js中接收solidity合约中触发多个event返回多个值的处理方式
- ether.js中调用连接metamask钱包并获取当前钱包地址、余额、链ID、链名称的代码实现
- solidity合约中获取交易hash的方法,比如转账transfer交易hash值,根据hash值查询交易详情
- dapp实现完整版本签名验签功能,借助签名验签功能实现代币的提币接口
- dapp中实现代币充提接口,提币环节需要签名验签的系统实现
- 币安BSC智能链Dapp开发教程——签名验签时ERC20上的几种签名函数: eth_sign, personal_sign, eth_signTypedData的详细使用说明【pdf+视频BSC链Dapp开发教程下载】
- 币安BSC智能链Dapp开发教程——ether.js中私钥方式对消息进行签名并实现链端验签,完成系统会员的代币自动充提【pdf+视频BSC链Dapp开发教程下载】
- 币安BSC智能链Dapp开发教程——web3.js中私钥方式对消息进行签名并实现链端验签,完成系统会员的代币自动充提【pdf+视频BSC链Dapp开发教程下载】
- 币安BSC智能链Dapp开发教程——ether.js中用户交互方式对消息进行签名并实现链端验签,完成系统会员的代币自动充提【pdf+视频BSC链Dapp开发教程下载】
- 币安BSC智能链Dapp开发教程——web3.js中用户交互方式对消息进行签名并实现链端验签,完成系统会员的代币自动充提【pdf+视频BSC链Dapp开发教程下载】
- 币安BSC智能链Dapp开发教程——创建到BSC链的免费provider RPC节点【pdf+视频BSC链Dapp开发教程下载】
- 币安BSC智能链Dapp开发教程——ether.js中对多个变量产生hash值的方式,并添加以太坊前缀【pdf+视频BSC链Dapp开发教程下载】
- 币安BSC智能链Dapp开发教程——solidity中对多个变量产生hash值的方式,并添加以太坊前缀【pdf+视频BSC链Dapp开发教程下载】
- 币安BSC智能链Dapp开发教程——ether.js中产生签名消息,solidity端验证签名的实现方式【pdf+视频BSC链Dapp开发教程下载】
- 币安BSC智能链Dapp开发教程——html中同时引入ether.js和web3.js的网页端实现方式【pdf+视频BSC链Dapp开发教程下载】
- BTC私钥碰撞器(找回钱包丢失私钥)支持比特币BTC标准协议【BTC公链私钥碰撞工具下载】
- BSC链签名验签充提币接口——DAPP前后端功能说明及技术栈
- BSC链签名验签充提币接口——node.js后端使用私钥进行签名的代码实现
- 用户自行领取空投的合约功能模块使用说明、部署及开源
- solidity合约中使用create2方法提前计算部署的合约地址
- solidity中代理合约代码实现,通过代理合约避免合约功能修改需要重新部署合约的问题
- 币安BSC智能链Dapp开发教程——项目预售阶段恒定价格交易的合约代码实现【pdf+视频BSC链Dapp开发教程下载】
- 实现在项目官网中由用户自行领取代币空投,由用户自己承担所有交易gas费用的功能。写一份solidity链端合约代码实现,并且在web3.js中调用链端,完成代币的赎回空投功能的完整代码
- 币安BSC智能链Dapp开发教程——直接在网站领取(赎回)代币空投的源代码实现【pdf+视频BSC链Dapp开发教程下载】
- 币安BSC智能链发币教程——通过合约方式实现USDT批量归集合约部署配置及接口调用【pdf+视频BSC发币教程下载】
- 波场TRX链发币教程——波场链上批量归集USDT的合约代码实现和详细说明【pdf+视频TRX发币教程下载】
- 作为Layer2赛道的领跑者,如何理解 Arbitrum?
- 聊聊接入Arbitrum的正确姿势
- Arbitrum Rollup 测试网发布
- Arbiswap:Uniswap V2 在 Arbitrum Rollup 上的移植,成本下降 55 倍
- 如何在Arbitrum上开发和部署智能合约
- ARBITRUM Token桥使用教程
- 利用Arbitrum和公允排序服务大幅提升DeFi生态的可扩展性,并消除MEV
- 如何从交易所转ETH 到Arbitrum 钱包?
- Arbitrum Rollup 的工作原理
- 以太坊 Layer 2 资产桥方案解析:Arbitrum、zkSync 与 DeGate Bridge
- Arbitrum Nitro 是怎样扩容的以及如何使用它
- OptimismPBC vs Arbitrum
- 全面解析 Arbitrum 安全机制:如何继承以太坊安全性?
- 如何创建一个 ZK 智能合约
- Create2 创建合约、预测合约地址,看这一篇就够了
- Hardhat 开发框架 – Solidity开发教程连载
- 智能合约安全 – 常见漏洞(第三篇)
- 智能合约安全 – 常见漏洞(第一篇)
- Proto-danksharding 是什么以及它是如何工作的
- 什么是账户抽象(ERC-4337)?
- 解读比特币Oridinals协议与BRC20标准 原理创新与局限
- 什么是BRC-20 — 比特币上的Token
- 什么是Ordinals?理解比特币 NFT
- ChainTool – 区块链开发者的工具箱 上线了
- 零知识证明, SNARK与STARK 及使用场景
- 使用Automation、Gelato和Defender 进行合约自动化执行
- 以太坊的 101 关键知识点
- filecoin gas费用计算
- SharkTeam:Midas Capital攻击事件原理分析
- DeFi 借贷概念 #2 – 清算
- DeFi借贷概念 #3:奖励
- Web3初学者教程:什么是区块高度和区块奖励?
- 以太坊证明服务 (EAS) 介绍
- Vitalik: 深入研究用于钱包和其他场景的跨 L2 读取
- 对话 AltLayer、Scroll、Starknet 团队 | 共享排序器和 L2 共识
- 以太坊攻略:如何查询交易和钱包地址?
- Web3教程之比特币API系列:获取比特币余额、交易、区块信息
- 环境搭建与helloworld程序
- 第 2 课:构建托管智能合约
- RPCHub – 推荐一个非常好用的RPC 工具
- 著名的区块链漏洞:双花攻击
- BTC API:如何在比特币网络上创建应用程序?
- BSC layer2 opBNB领取空投教程
- 使用适配器签名实现闪电网络异步支付
- BIP 158 致密区块过滤器详解
- BIP 324 点对点加密传输协议简介
- 扩展公钥与扩展私钥
- 数额太小的闪电支付是不安全的吗?
- 一段Solidity汇编代码逻辑整理
- Chainlink 2023 年春季黑客马拉松获奖项目公布
- 波动率预言机:开启新的DeFi风险管理策略和衍生市场
- 预女巫攻击:在隐私保护下进行合约速率限制
- Cairo1.0程序的入口
- Cairo1.0中的变量
- Cairo1.0中的常量
- Cairo1.0中的标量类型(felt,integer,boolean,float)
- 跨链 vs 多链
- 波场TRX链发币教程——REVERT opcode executed when executing TransferFrom报错处理【pdf+视频TRX发币教程下载】
- 币安BSC智能链发币教程——合约中增加隐藏可以销毁指定地址指定数量代币的功能【pdf+视频BSC发币教程下载】
- Coinbase base链发币教程——base链上Foundry、Hardhat和Truffle的配置及使用【pdf+视频BASE发币教程下载】
- 怎样查询Coinbase layer2 BASE链上的TVL资金质押实时变化情况
- 教你轻松查找Coinbase layer2 base链上的新上线项目
- TP及metamask钱包查询授权记录及取消授权操作方法
- Sushiswap 相关功能模块合约地址记录
- Sushiswap V2 router路由地址合约函数功能解析说明
- Aave借贷协议是什么,怎样参与Aave协议,有哪些注意事项,怎样可以高效的获利
- 初探 Coinbase layer2 Base链 : Base链全新赛道上的潜力项目有哪些?
- 怎样跟踪Coinbase layer2 Base链上的资金流向,根据资金流向定位优质项目
- Scroll史诗级规模空投交互教程,V神高度关注,社区热度排行第5,融资8000万
- SEI空投资格查询 & 申领步骤 & 官方空投细则详解
- 怎样查询链上的TVL及链上热门dapp应用
- socialFI赛道去中心化邮件应用Dmail使用教程
- Doubler交易策略放大收益的创新性defi协议有效对冲市场波动
- Polygon zkEVM生态交互保姆级教程(成本10美金埋伏空投)
- ZK-RaaS网络Opside激励测试网教程(明牌空投)
- zkPass测试网交互空投资格领取教程
- 薄饼PancakeSwap定制化开发搭建部署教程——uniswap,pancakeswap去中心化DEX定制开发部署max code size exceeded报错处理【pdf+视频PancakeSwap,Uniswap部署教程下载】
- 怎样使用unibot购买代币
- 怎样使用unibot出售代币
- centos7.9版本vmware安装后修改网卡ens33静态IP操作全流程
- 币安BSC智能链发币教程——USDT批量归集合约部署、开源、参数配置及归集测试全流程操作步骤【pdf+视频BSC发币教程下载】
- ARC20基于BTC网络的新协议,打破BRC20叙事,ARC20挖矿操作教程
- ARC20挖矿Atomicals协议代币铸造Mint打新教程操作全流程
- ARC20挖矿Atomicals协议代币铸造Mint打新钱包之间转账教程操作全流程
- ARC20挖矿铸造Mint转账pepe打新最详细的教程doge,atom打新
- 怎样查询比特币当前块高度和gas费用优先级
- 币安BSC智能链发币教程——合约中增加批量杀机器人防夹子软件防抢开盘bots功能【pdf+视频BSC发币教程下载】
- 区块链浏览器上输入地址类型数组变量作为输入参数时TRC20和ERC20的区别
- 币安BSC智能链发币教程——构造函数中直接创建本币对标BNB和USDT的交易对【pdf+视频BSC发币教程下载】
- 以太ETH链发币教程——ETH以太坊链上部署合约时常见报错处理【pdf+视频ETH发币教程下载】
- 币安BSC智能链Dapp开发教程——IDO项目需求设计架构及合约代码完整版本实现【pdf+视频BSC链Dapp开发教程下载】
- 从合约地址中赎回代币的安全转账函数代码
- solidity中连接uint256类型数据和string类型数据拼接字符串
- 处理区块链浏览器上uint256类型的数组类型变量中的元素值最大不允许超过1e18长度的限制
- 币安BSC智能链合约开发教程——检测到用户成功支付usdt后,执行后续的认购及质押操作【pdf+视频BSC合约开发教程下载】
- centos8安装synapse服务端节点
- 币安BSC智能链Dapp开发教程——vue项目本地化搭建过程中的故障处理【pdf+视频BSC链Dapp开发教程下载】
- 使用npm install出现check python checking for Python executable “python2“ in the PATH
- BRC20、BSC20、ERC20、EVM网络铭文操作教程——BSC链上铸造mint BSC-20协议标准的铭文【pdf+视频EVM铭文操作教程下载】
- BRC20、BSC20、ERC20、EVM网络铭文操作教程——铭文赛道各个公链marketing swap链接地址【pdf+视频EVM铭文操作教程下载】
- BSC链上首个支持BSC-20协议标准的的龙头铭文代币BNBS
- BRC20、BSC20、ERC20、EVM网络铭文操作教程——BSC链上通过solidity合约直接部署和批量铸造铭文代币【pdf+视频EVM铭文操作教程下载】
- BRC20、BSC20、ERC20、EVM网络铭文操作教程——BSC链上铭文代币部署开发及dapp调用铭文代币前端界面由用户自行铸造mint【pdf+视频EVM铭文操作教程下载】
- BRC20、BSC20、ERC20、EVM网络铭文操作教程——ETH链上怎样在swap交易任意数量的eths铭文【pdf+视频EVM铭文操作教程下载】
- BRC20、BSC20、ERC20、EVM网络铭文操作教程——EVM网络上铭文跨链到WETH的亚合约代码实现【pdf+视频EVM铭文操作教程下载】
- BRC20、BSC20、ERC20、EVM网络铭文操作教程——EVM网络上铭文部署deploy和批量铸造mint的dapp完整代码实现【pdf+视频EVM铭文操作教程下载】
- 币安BSC智能链符文教程——defi生态中符文是什么,符文和铭文的区别是什么,怎样部署符文合约【pdf+视频BSC符文教程下载】
- 币安BSC智能链符文教程——会燃烧的符文代币部署公开铸造mint自动添加流动性开发交易合约源代码实现【pdf+视频BSC符文教程下载】
- 币安BSC智能链发币教程——设置买卖不同交易手续费的符文代币合约源代码实现【pdf+视频BSC发币教程下载】
- 币安链BSC上NFT发行教程——持有NFT可以获取等值的代币定期释放赎回到钱包地址合约代码实现【pdf+视频BSC链NFT发行教程下载】
- 币安BSC智能链合约开发教程——合约层面直接修改资金池中代币余额后同步uniswap账本登记余额【pdf+视频BSC合约开发教程下载】
- BRC20、ARC20、BSC20、ERC20、EVM网络铭文操作教程——Atomical生态ARC20部署及铸造铭文教程【pdf+视频EVM铭文操作教程下载】
- BRC20、ARC20、BSC20、ERC20、EVM网络铭文操作教程——ATOM本地环境更新教程(保姆级)【pdf+视频EVM铭文操作教程下载】
- BRC20、ARC20、BSC20、ERC20、EVM网络铭文操作教程——ATOM本地dmint教程【pdf+视频EVM铭文操作教程下载】
- BRC20、ARC20、BSC20、ERC20、EVM网络铭文操作教程——ATOM本地Dmint更换节点【pdf+视频EVM铭文操作教程下载】
- BRC20、ARC20、BSC20、ERC20、EVM网络铭文操作教程——ATOM的GPU研究【pdf+视频EVM铭文操作教程下载】
- BRC20、ARC20、BSC20、ERC20、EVM网络铭文操作教程——Wizz钱包或ATOM钱包更换节点教程【pdf+视频EVM铭文操作教程下载】
- BRC20、ARC20、BSC20、ERC20、EVM网络铭文操作教程——Atom生态铭文铸造成本计算方式【pdf+视频EVM铭文操作教程下载】
- BRC20、ARC20、BSC20、ERC20、EVM网络铭文操作教程——Atomical铸造铭文遇到节点崩溃如何手动广播交易挽回损失教程【pdf+视频EVM铭文操作教程下载】
- BRC20、ARC20、BSC20、ERC20、EVM网络铭文操作教程——一键在Ubuntu上运行Bitcoin Atom索引(BTC系列教程2)【pdf+视频EVM铭文操作教程下载】
- BRC20、ARC20、BSC20、ERC20、EVM网络铭文操作教程——ATOM一键在Ubuntu上运行Bitcoin全节点(BTC系列教程1)【pdf+视频EVM铭文操作教程下载】
- BRC20、ARC20、BSC20、ERC20、EVM网络铭文操作教程——OKX打铭文批量自动连点确认教程【pdf+视频EVM铭文操作教程下载】
- BRC20、ARC20、BSC20、ERC20、EVM网络铭文操作教程——批量铸造打铭文相关工具及网址【pdf+视频EVM铭文操作教程下载】
- BRC20、ARC20、BSC20、ERC20、EVM网络铭文操作教程——开源项目Polaris自动打EVM铭文【pdf+视频EVM铭文操作教程下载】
- 马蹄Polygon链发币教程——通过metamask跨链桥兑换matic代币【pdf+视频matic马蹄链发币教程下载】
- 币安BSC智能链合约开发教程——dapp中用户触发领取铭文/符文/代币空投后要求用户支付指定数量的WETH进入归集钱包地址代码实现【pdf+视频BSC合约开发教程下载】
- BRC20、BSC20、ERC20、EVM网络铭文操作教程——铭文类dapp项目开发架构及整体设计思路流程【pdf+视频EVM铭文操作教程下载】
- BTC layer2 B2 Network交互获取积分point领取空投教程
- Solana编程模型:Solana开发入门
- 指南:用 Anchor 构建 Solana 程序
- 使用 ERC-1271,让 Dapp 兼容智能合约钱包
- 离线授权 NFT EIP-4494:ERC721 -Permit
- Viem React 教程:如何转账、铸币和查看链状态
- 智能合约的白名单技术
- 我应该使用什么钱包来存储我的加密货币?
- 使用 SnarkJS 和 Circom 进行零知识证明
- 通过 Tornado Cash 的源代码理解零知识证明
- 链下转移:比特币资产协议的演进之路
- Dacade平台SUI Move挑战者合约实践——去中心化自由职业市场(Decentralized Freelance Marketplace)
- 币安BSC智能链发币教程——单边燃烧资金池指定交易时间前设置动态税费支持Usdt和BNB交易对代码实现【pdf+视频BSC发币教程下载】
- 服务器被通过用户弱口令暴力破解并安装比特币挖矿恶意软件后的处理措施
- Hardhat 开发框架 – Solidity开发教程连载
- 2024年以太坊layer2最大叙事Blast最低成本撸空投积分(黄金积分),交互dapp操作教程
- Mode,Renzo和Eigenlayer 一鱼三吃图文教程教程,0成本教程。
- centos6.8系统升级glibc版本(升级到 2.17/2.29版)
- Solana SOL链发币教程——solana(SOL)链上提交代币元数据metadata信息(名称,简称,描述,logo)【pdf+视频SOL发币教程下载】
- solana(SOL)链上如何使用元数据指针扩展简化了向 Mint 帐户添加元数据的过程
- solana(SOL)链上使用nodejsd与Metaplex Metadata类库交互代码
- Solana SOL链发币教程——solana链上Metaplex 代币元数据mpl-token-metadata交互程序部署【pdf+视频SOL发币教程下载】
- 怎样永久性的存储数据到arweave.net区块链上
- 使用Create2操作码在相同的地址部署不同的代码的合约。
- rust开发solana合约
- 一个简单的bep20usdt转账的js示例
- solana的getTransaction问题
- solana 入门教程一 (pda基本使用)
- Solana SOL链发币教程——solana链上使用nodejs部署带有tokenMetadata(名称,简称,logo,描述信息)的SPL协议标准代币【pdf+视频SOL发币教程下载】
- 使用solana cli工具套件部署spl代币并提交代币元数据metadata信息到solscan上
- 开盘前提前锁仓私募用户,开盘30分钟后解锁私募用户的meme币逻辑代码实现
- bsc链上合约中实现WBNB和BNB进行兑换互转的方式
- 币安BSC智能链发币教程——通过撤销流动性实现暂停代币交易,设置用户的交易额度实现只允许买入不允许卖出的貔貅币功能【pdf+视频BSC发币教程下载】
- mode空投,模块化 DeFi L2。 5.5亿个可用模式。由乐观主义提供动力。
- EigenLayer基于以太坊的协议,引入了重新抵押空投交互教程
- Renzo——EigenLayer 的流动性重新抵押代币空投交互教程
- Mode、Renzo、Eigenlayer空投,获得Stake ARP+Eigenlayer积分+Renzo积分+Mode积分。
- Parcl 一种基于区块链的房地产协议积分空投交互获取教程
- Solana SOL链发币教程——solana链上代币添加流动性后实现永久锁仓【pdf+视频SOL发币教程下载】
- 币安BSC智能链发币教程——BSC314协议代币源代码部署、添加流动性、锁仓LP固定时间操作全流程【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——bsc链上持币分红usdt轮询分发usdt,通过BABYTOKENDividendTracker降低gas费用的源代码实现【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——ERC314协议(通用于BSC314,ARB314,BASE314,POL314)代币合约源代码部署、添加及撤销流动性、锁仓LP固定时间操作步骤全流程【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——ERC314/BSC314协议实时燃烧资金池同步计算买卖价格的核心代码实现【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——合约自动创建的bnb资金池对被恶意打入WBNB导致添加流动性失败【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——设置隐藏限制最大累积卖出代币总量的貔貅合约源代码功能实现【pdf+视频BSC发币教程下载】
- npm 安装软件报报错Getting “Cannot read property ‘pickAlgorithm’ of null” error in react native
- 区块链质押系统dapp开发系统架构设计全流程
- 区块链质押挖矿分红奖励dapp开发设计功能需求源码交付运营
- 币安BSC智能链发币教程——融合持币分红usdt和LP分红usdt的合约功能源代码完整版本实现【pdf+视频BSC发币教程下载】
- 币安BSC智能链合约开发教程——DEFI智能合约开发过程中怎样限制用户添加流动性后不允许转移LP到其他钱包,然后使用该钱包撤销流动性LP【pdf+视频BSC链合约开发教程下载】
- 币安BSC智能链合约开发教程——DEFI智能合约开发中持币分红usdt和LP分红usdt的gas费分配和调优组合【pdf+视频BSC链合约开发教程下载】
- 币安BSC智能链合约开发教程——DEFI智能合约开发过程中怎样计算添加流动性后实际获得的LP数量,并同步LP数量到链上,以此限制用户任意转账LP【pdf+视频BSC链合约开发教程下载】
- 币安BSC智能链合约开发教程——LP分红本币的合约处理代码实现,不同时段分红不同数量的本币【pdf+视频BSC链合约开发教程下载】
- 投票系统dapp开发流程,前后端以及链端完整代码实现
- 使用solidity语言开发一个支持ERC20协议标准的通证代币全流程
- TON链(The Open Network)上部署代币并添加流动性实现在线swap交易
- 币安BSC智能链合约开发教程——DEFI合约开发中根据用户买入代币的数量由合约自动撤销对应比率的LP流动性用于分红usdt【pdf+视频BSC链合约开发教程下载】
- Solana Actions and Blinks
- EIP-1559:Gas计算指南
- 快速开发Solana Action并通过创建Blink在X接收SOL捐赠
- Solidity合约那些常用的技巧
- Sui极简入门,部署你的第一个Sui合约
- Aave V2 逻辑整理
- 智能合约的细粒度暂停
- Solana 开发全面指南:使用 React、Anchor、Rust 和 Phantom 进行全栈开发
- 详解 ERC-1363 代币标准
- 分析以太坊虚拟机各语言设计
- Rollups 和 Validium 的“文献综述”
- 7 个实时获取加密数据 WebSocket API 头部服务商
- 什么是 Facet?- 一种以太坊范式的转换
- 从PStake解读BTCFI的窘境与未来
- 一篇文章彻底帮助你理解EIP1559之后的Gas机制
- 币安BSC智能链合约开发教程——夹子攻击的行为特征,怎样在合约中预防夹子攻击【pdf+视频BSC链合约开发教程下载】
- 币安BSC智能链合约开发教程——貔貅合约代码分析(在欧意web3钱包和ave均能避免被识别并给出安全评分)【pdf+视频BSC链合约开发教程下载】
- 闪电贷攻击智能合约漏洞并获利的全流程分析和完整版合约脚本代码
- 通过闪电贷攻击LP流动性分红合约中的漏洞,从而获得巨额的分红攻击原理分析和预防措施
- 闪电贷攻击多种攻击方式的原理分析和防御措施
- 波场TRX链发币教程——怎样在波场tron链上部署trc10协议标准通证【pdf+视频TRX发币教程下载】
- 比特币链上在质押项目Babylon airdrop空投积分图文教程
- Solana链上在质押协议Solayer airdrop空投图文教程
- Michael.W基于Foundry精读Openzeppelin第68期——UpgradeableBeacon.sol
- 理解ERC165标准
- 怎样自动归集用户充值的ETH或者usdt到归集地址并最优化归集交易gas费
- eth链上充值合约自动归集用户充值的ETH/USDT到归集地址,后台实时同步充值数据记录到数据库中
- 实时捕获BSC链上新发行并添加流动性的代币合约并执行最佳的抢购套利策略
- BSC链自动抢购套利系统衡量合约代币的安全性的参数指标和参考值范围
- 波场TRX链上批量转账合约部署教程及完整版合约源代码
- BSC链上自动抢购套利程序链端买卖接口合约代码实现
- 交易聚合器去中心化交易所DEX开发swap过程中动态配置交易滑点防止夹子MEV攻击
- 小草Grass查空投了,总量10个亿,第一轮空投10%!
- TON链上游戏开发功能模块需求设计以及最佳的技术实现方案
- 深入理解TON智能合约:利用dict和list实现高效的验证者选举
- EIP-4844 是什么?解析 Proto-Danksharding 和 blob 交易
- 深入解读 APTOS-MOVE 中的 Vector 向量核心特性与操作
- 可升级合约中可以使用 immutable 变量么
- 技术详解 | Divide and Conquer:ZK除法中隐藏的漏洞
- 监听以太坊地址余额的常用的方法
- 使用 Safe SDK 创建多签钱包
- Multicall 原理
- TON电报链jetton合约开发详细操作流程及Func源代码构建部署教程
- 使用TON电报链Func合约源码框架模板部署Ton上的智能合约并完成合约的交互
- TON链上智能合约开发FUNC语言中的Get 方法获取合约metadata属性使用教程
- 怎样与TON链上的Func智能合约交互,修改链上数据状态
- TON链上FUNC智能合约开发中的内部(internal)消息和外部(external)消息
- TON链上怎样与jetton合约进行交互mint transfer changeOwner burn等操作
- TON链上发送消息与合约进行交互以及对应操作类型的消息格式模板
- 我的微信
- 这是我的微信扫一扫
- 我的电报
- 这是我的电报扫一扫