“Veda”这个名字源于《吠陀经》(Vedas),这是一系列起源于古印度的宗教文本。用梵文书写,这些文本构成了梵文文学的最古老层次,也是印度教最古老的经典。
在《吠陀经》中,有一句至理名言:“असतोमा सद्गमय”(Asato Mā Sad Gamaya),意为“引领我离开虚无,走向真实。”
比特币,作为世界上第一个和最去中心的加密货币,自2009年诞生以来已经发生了许多重大变化。在这篇文章的语境下,两个最主要的发展是 Taproot 升级和 Ordinals 协议。在本文中,我们将探索这些进步的历史和技术细节,以及它们如何铺平了 Veda 协议的创建之路。
eth_call
方法。让我们来理解一下以上这段话:
“好的,想象一下你有一本神奇的魔法书,名字叫做**“Ordinals”。现在有一个叫“Veda”**的魔法书的特殊用法,它就像一种独特的法力放大器。
首先,Veda 是基于“Ordinals”这本书的,就像在魔法书上添加了一些额外的说明一样。你可以通过在“Ordinals”书上写下一些特殊的指令,来执行一些特殊的魔法操作,就像你在书上画画一样,只不过你的画加上了 Veda 特殊的指令便可以动起来。
这个 Veda 魔法被分成两个部分,就像两个超级英雄一样。一个超级英雄叫做“Veda-core”,它就像一个魔法检查员,负责检查书上的指令,看它们是否正确。然后,它把这些指令翻译成一种特殊的语言,让其他超级英雄也能听懂。
另一个超级英雄叫做**“Veda-bvm”,它就像一个法杖**一样。当 Veda-bvm 听到 Veda-core 翻译过来的特殊语言时,它知道该怎么做。如果是一个新的指令,它就把这个魔法存储起来,以备将来需要。如果是立刻执行的指令,比如现在让一些魔法发生,它就立刻执行。
所以,Veda 就像是一个魔法的超级英雄团队,他们使用特殊的施法方式在“Ordinals”魔法书上书写,确保所有的魔法都是安全的。而且,他们能够使用一种特殊的语言,让其他超级英雄也能够理解。很酷,对吧?”
“EVM rules everything around me.”
2023年11月29日的一次深刻观察中,Jason Choi 以"EVM 主宰我周围的一切"的陈述,概括了区块链生态的本质。这简洁的表达强调了以太坊虚拟机(EVM)在塑造和主导去中心化技术领域中的关键作用。作为以太坊区块链的基本计算引擎,EVM 是智能合约和去中心化应用变革力量的明证,对整个区块链领域产生深远影响。Choi 的陈述捕捉了关于 EVM 在不断演变的区块链创新领域中的重要性,以及对其行业领先地位的肯定。
以太坊虚拟机(EVM)是以太坊区块链的关键组成部分,由于几个原因,它已经成为区块链生态系统中的主导力量。其中一个主要原因是以太坊是第一个引入智能合约的区块链,使得开发者能够在以太坊网络上构建去中心化应用程序(DApps)。这吸引了大量开发者加入平台,进而推动了许多热门的DApps和代币的发展。
EVM 在区块链生态系统中占主导地位的另一个原因是网络效应。随着越来越多的开发者和用户采用以太坊平台,它已经成为许多基于区块链的项目的首选平台。这导致了一个良性循环,即使用以太坊的人越多,它就变得越有价值和有用。
在数据方面,以太坊一直是智能合约和去中心化应用程序最活跃使用的区块链。根据 defillama 的数据,与其他智能合约平台相比,以太坊拥有最多的 DApps 和每日活跃用户。此外,以太坊在所有智能合约平台中具有最高的市值,并且在以太坊 DeFi 协议中锁定的价值最大。
EVM 在区块链生态系统中的主导地位是由于其早期引入智能合约、网络效应以及庞大而活跃的开发者和用户社区。
在 Veda Protocol 官方 X 宣布了在区块高度 822267 后协议正式上线的大概一个小时内,匿名开发者 UXVpcyBjdXN0b2RpZXQgaXBzb3MgY3VzdG9kZXM 调用了 Veda 官方在12月10日开源的代码部分的内容部署了基于此协议的第一个 Token——VEDA
此开发者之前在 GitHub 的记录为零,但其名称使用了 base64 加密,其解码后的对应文字为:
"Quis custodiet ipsos custodes" 是拉丁文,翻译成英文是 "Who watches the watchmen?" 这一短语最早出现在古罗马卫队的讽刺喜剧作家尤文纳利斯的作品中。这个问题涉及到权力监督和控制的议题,强调了对于那些负责监督权力的人也需要被监督,以防止滥用权力。这一思想在哲学、政治和文学中都有所体现,表达了对于权力制衡和透明性的关注。
以下是对这段代码的详细分析:
许可证声明:
// SPDX-License-Identifier: MIT
这是 SPDX 许可证标识符,用于声明智能合约的许可证。在这里,许可证是 MIT 许可证,表示该智能合约的代码在遵循 MIT 许可证的开源许可下发布。
Solidity 版本声明:
pragma solidity ^0.8.20;
这是 Solidity 编译器版本声明。它指定了合约代码应该使用的 Solidity 编译器版本范围,此合约要求使用 0.8.20 版本或更高版本的 Solidity 编译器。
引入 ERC20 合约:
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
通过 import
关键字引入 OpenZeppelin 的 ERC20 合约,这是一个通用的 ERC-20 合约,提供了标准的 ERC-20 功能。
合约定义:
contract ERC20Token is ERC20 {
定义 ERC20Token 合约,它继承自 ERC20 合约。
变量声明:
uint256 public maxSupply;
uint256 public mintAmount;
uint8 private decimalPlaces;
maxSupply
:代币的最大总供应量。
mintAmount
:每次铸造(mint)的代币数量。
decimalPlaces
:代币的小数位数。
构造函数:
constructor(
string memory name,
string memory symbol,
uint256 _maxSupply,
uint8 _decimalPlaces,
uint256 _mintAmount
)
ERC20(name, symbol) {
// Constructor logic
}
构造函数负责初始化合约的各种参数。传入的参数包括代币的名称、符号、最大供应量、小数位数和每次铸造的数量。构造函数通过调用 ERC20 合约的构造函数初始化 ERC20Token。
decimals
函数:
function decimals() public view virtual override returns (uint8) {
return decimalPlaces;
}
此函数覆盖了 ERC20 合约中的 decimals
函数,返回代币的小数位数。
mint
函数:
function mint() public {
require(tx.origin == msg.sender, "Only the original external account can call this method");
require(totalSupply() + mintAmount <= maxSupply, "Max supply exceeded");
_mint(msg.sender, mintAmount);
}
mint
函数用于铸造新的代币。它包括以下步骤:
确保只有原始的外部账户(tx.origin
)可以调用此函数。
确保铸造后的总供应量不超过最大供应量。
调用 _mint
函数,将新铸造的代币发送到调用者(msg.sender
)的地址。
这个合约提供了创建 ERC-20 代币的基本功能,其中包括构造函数用于初始化代币的各种属性,decimals
函数用于返回小数位数,以及 mint
函数用于铸造新的代币。
关注AK Labs Twitter