🔥最简单创建流程(需要写代码破解协议)
方法一:网页一键创建(推荐)
😍 打开 Token Creator 网站
😍 连接 Phantom 钱包
😍 填写信息:
😍 点击创建
😍 钱包确认交易
👉这个是常规的操作流程
方法二:命令行(稍进阶)
1️⃣ 安装 Solana CLI
2️⃣ 创建钱包
3️⃣ 创建 Token
4️⃣ 创建账户:
5️⃣ 发行代币:
方法一:网页一键创建(推荐)
代币名称(Name)
简称(Symbol)
总量(Supply)
小数位(Decimals,常用9)
👉这个是常规的操作流程
方法二:命令行(稍进阶)
1️⃣ 安装 Solana CLI
2️⃣ 创建钱包
3️⃣ 创建 Token
spl-token create-token4️⃣ 创建账户:
spl-token create-account <TOKEN_ADDRESS>5️⃣ 发行代币:
spl-token mint <TOKEN_ADDRESS> 1000000Please open Telegram to view this post
VIEW IN TELEGRAM
常见的代币漏洞和潜在风险,包括创新型代币的常见漏洞分析
➕ 常见代币漏洞分析
😍 重入攻击(Reentrancy Attack)
背景:
这种漏洞发生在合约调用外部合约时,如果没有合适的防护措施,外部合约可以再次调用当前合约的函数,从而绕过某些安全检查,造成资产的重复转账。
案例:
😍
防护措施:
😍 溢出/下溢漏洞(Overflow/Underflow)
背景:
案例:
😍 某些代币合约中,计算用户余额或转账时没有处理溢出,导致代币供应量出现错误。
防护措施:
背景:
这种漏洞发生在合约调用外部合约时,如果没有合适的防护措施,外部合约可以再次调用当前合约的函数,从而绕过某些安全检查,造成资产的重复转账。
案例:
以太坊上的“DAO 攻击”就是通过重入攻击导致的大规模盗窃。防护措施:
😍 使用“Checks-Effects-Interactions”模式,在调用外部合约之前,先修改合约状态。😍 利用Reentrancy Guard(重入保护)来阻止递归调用。
背景:
如果合约在进行算数运算时,数值超出了数据类型的范围(例如 uint256 数值超过其最大值),可能会导致预期之外的结果,如负数、错误的余额等。
案例:
防护措施:
😍 在 Solidity 中,使用 SafeMath 库进行所有的数学运算,确保不会出现溢出。😍 Solana 或其他平台类似的合约框架也提供了防溢出功能。
Please open Telegram to view this post
VIEW IN TELEGRAM
背景:
很多代币合约都允许用户通过 approve 和 transferFrom 来进行代币授权操作。如果授权机制没有适当的检查,可能会出现double-spending(双重花费)的问题,即用户可以被允许多次消费相同的代币。
案例:
ERC-20 合约中的 approve 操作可以被恶意利用,如果用户没有及时更新授权额度,攻击者可能会通过一些操作消费用户的代币。
防护措施:
😍 避免“无限授权”。😍 使用increaseAllowance 和 decreaseAllowance 替代直接的 approve 调用。
背景:
如果合约中没有正确设置权限控制,或者权限分配不清晰,攻击者可能会获得过高的权限,进行未授权的代币转账或增发。
案例:
防护措施:
😍 权限要正确分配,例如使用 Ownable 设计模式,确保敏感操作只能由特定用户执行。😍 对于铸币权(minting)和冻结权(freeze)等权限,要谨慎设置,特别是应该考虑放弃权限的机制。
Please open Telegram to view this post
VIEW IN TELEGRAM
SPL 代币是什么
SPL代币的特点:
SPL代币与其他区块链生态系统中的代币标准不同,例如以太坊的ERC标准、波场(TRON)的TRC-20和币安智能链的BEP-20。 SPL 代币的主要特征包括:
Sealevel是Solana的智能合约运行时(runtime),它旨在允许智能合约的并行执行。与其他领先的智能合约网络相比,这使该平台具有显著的性能优势。得益于这一功能,Solana可以在不影响网络性能的情况下同时处理数千个智能合约。
SOL区块链破解生成代币 破解合约绕过区块链制定新的规则合约代币 #区块链破解 #代币生成 需要做的人可以来联系:@Perlah544
双向联系:@TYSBJiqiRenbot
SPL 代币是在 Solana 区块链生态系统中运行的数字资产。管理 SPL 代币的代码由 Solana Labs 部署,它是 Solana 程序库的一部分。举个例子,与以太坊形成鲜明对比的是,以太坊上的每个代币都必须有自己的合约,而 Solana 上的代币则重复使用现有的合约。
涉及 SPL 代币的交易费用可以使用该平台的原生代币 SOL 支付。
SPL代币的特点:
SPL代币与其他区块链生态系统中的代币标准不同,例如以太坊的ERC标准、波场(TRON)的TRC-20和币安智能链的BEP-20。 SPL 代币的主要特征包括:
😍 NFT 和可替代代币的适用性:SPL 代币涵盖同一标准下的可替代(可互换)和不可替代(唯一)代币。 (而以太坊对每种代币类型都有单独的标准。)
😍 可组合性:代币代码可以重复使用,从而用最小的更改即可创建新的 SPL 代币。这种可组合性意味着开发人员可以通过仅更改某些参数来快速地生成新代币。
😍 效率:SPL 代币直接受益于 Solana 区块链的高性能。该网络的高处理速度提高了 SPL 代币的交易效率,使这些代币比其他区块链上的操作更快、更具成本效益。
Sealevel是Solana的智能合约运行时(runtime),它旨在允许智能合约的并行执行。与其他领先的智能合约网络相比,这使该平台具有显著的性能优势。得益于这一功能,Solana可以在不影响网络性能的情况下同时处理数千个智能合约。
SOL区块链破解生成代币 破解合约绕过区块链制定新的规则合约代币 #区块链破解 #代币生成 需要做的人可以来联系:@Perlah544
双向联系:@TYSBJiqiRenbot
编写Solana智能合约代码
开发原生程序
SOL区块链破解生成代币 破解合约绕过区块链制定新的规则合约代币 #区块链破解 #代币生成 需要做的人可以来联系:@Perlah544
开发原生程序
😍 用cargo创建一个crate:原生程序只是一些crate,因此首先使用 cargo init<crate_name>--lib 创建一个新crate 。😍 将 solana-program 添加到依赖项:在crate的根目录中,运行 cargo add solana-program 。这将把链上程序SDK添加为依赖项。😍 设置所需的Cargo选项:打开 Cargo.toml ,把 crate-type = ["cdylib", "lib"] 添加到lib部分。😍 定义入口函数:Solana需要知道该从哪里开始执行程序,从这里开始的函数称为入口(entrypoint)。😍 导出入口函数:使用solana_program::entrypoint宏指令来告诉运行时入口函数是哪个,例如:solana_program::entrypoint!(entrypoint)😍 编写业务逻辑:原始指令数据将会传递到入口。然后,开发人员需要做的是解码这些数据并采取适当的行为。编码格式不是由网络指定的,所以它是任意的。但是,建议使用Borsh序列化/反序列化程序,可以从solana_program::borsh*模块导出实用程序来使用它。😍 编写和运行测试:定义常规的Rust单元测试,和/或使用solana-program-test进行集成测试。😍 构建程序:前面提到的CLI工具套件附带了cargo-build-bpf,它可以构建适合部署的二进制工作文件。直接运行它或调用cargo build-bpf通过Cargo运行它。如果需要的话它将自动下载工具链,并构建二进制工作文件,将其放入target/deploy/目录。
编写测试:Anchor 使用 TypeScript 通过 Solana TypeScript SDK 定义集成测试。
构建程序:使用anchor build。
运行测试:使用anchor test。
SOL区块链破解生成代币 破解合约绕过区块链制定新的规则合约代币 #区块链破解 #代币生成 需要做的人可以来联系:@Perlah544
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
测试Solana智能合约
SOL区块链破解生成代币 破解合约绕过区块链制定新的规则合约代币 #区块链破解 #代币生成 需要做的人可以来联系:@Perlah544
测试智能合约的功能和效率是 Solana 开发的关键。 Solana 提供了一系列测试工具和环境,旨在确保您的代码正常工作并集成到 Solana 生态系统中。
单元测试:Rust 中集成的单元测试框架是第一道防线,它允许您单独检查各个代码段,并在开发机器上进行本地测试。使用 Anchor 时,编写单元测试明显更具挑战性,因为框架本身仅使用 Solana TypeScript 客户端 SDK 提供的“外部”集成测试。
集成测试:集成测试可以评估您的智能合约与其他 Solana 网络组件的交互。集成测试有两种主要方法:solana-program-test,它是一个 Rust 的crate,为集成测试提供模拟的 Solana 网络环境;solana-test-validator,它运行本地 Solana 节点,用于在本地节点测试智能合约。后者明显慢得多,使用起来也更麻烦,但它的行为几乎就像一个真实的网络。 Anchor 使用后者来运行测试,但使用 Bankrun 测试框架可能是测试 Anchor 程序的另一个可行选择。
SOL区块链破解生成代币 破解合约绕过区块链制定新的规则合约代币 #区块链破解 #代币生成 需要做的人可以来联系:@Perlah544
部署Solana智能合约
测试 Solana 智能合约代码后,下一步是部署到 Solana 网络。操作方法如下:
如果您在开发过程中遇到困难,或者需要对 Solana 智能合约进行第三方审核,我们可以随时为您提供帮助。
测试 Solana 智能合约代码后,下一步是部署到 Solana 网络。操作方法如下:
😍 部署程序:您的智能合约在网络上的唯一标识符是程序 ID。要创建程序 ID,请通过在终端中执行以下命令来使用 Solana 命令行界面 (CLI):solana program deploy <path_to_your_compiled_program>。此操作会编译您的智能合约并将其上传到网络,为其分配一个程序 ID 以供引用和交互。如果您想要程序的虚地址(vanity address),您可以提前生成它(例如使用 solana-keygen)并用 --keypair 参数将其提供给 solana program deploy。默认情况下,您将获得一个随机地址。使用Anchor时,可以使用anchor deploy。您可以通过将其密钥放入 ./target/deploy/<program_name>-keypair.json 来提供虚地址。
😍 验证部署:通过检查网络上的程序 ID 来确认您的智能合约已正确部署。您可以使用 Solana Explorer、Solscan.io、另一个公共索引器或 Solana CLI 命令 solana program show <program_id> 检索有关合约的详细信息,包括其大小和 SOL 余额。此步骤可确保您的智能合约已激活并准备好在网络上使用。
如果您在开发过程中遇到困难,或者需要对 Solana 智能合约进行第三方审核,我们可以随时为您提供帮助。
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Solana智能合约具体实现
😍 创建合约时创建权限表:在executive执行创建时,额外创建权限表即可。😍 提供权限表的读写操作接口:提供/sys/contractAuth系统合约,专门作为访问权限表的系统合约。solidity使用0x1005地址。😍 系统合约ContractAuth接口
function getAdmin(address contractAddr) public view returns (address) {}
function resetAdmin(address contractAddr, address admin)
public returns (int256);
function setMethodAuthType(
address contractAddr, bytes4 func, uint8 authType)
public returns (int256);
function openMethodAuth(
address contractAddr, bytes4 func, address account)
public returns (int256);
function closeMethodAuth(
address contractAddr, bytes4 func, address account)
public returns (int256);
function checkMethodAuth(
address contractAddr, bytes4 func, address account)
public view returns (bool);
function deployType() public view returns (uint256);
function setDeployAuthType(uint8 _type) public returns (int256);
function openDeployAuth(address account) public returns (int256);
function closeDeployAuth(address account) public returns (int256);
function hasDeployAuth(address account) public view returns (bool);SOL区块链破解生成代币 破解合约绕过区块链制定新的规则合约代币 #区块链破解 #代币生成 需要做的人可以来联系:@Perlah544
Please open Telegram to view this post
VIEW IN TELEGRAM
😍 用户可以通过 link 接口创建合约软链接资源,将会在/apps 目录下创建对应的资源,例如:调用link时参数为 Hello v1 0x123456,合约名为Hello,v1为版本号,0x123456为真实合约地址,将会创建 /apps/Hello/v1 合约软链接资源。😍 同样的,用户可以通过 link 接口覆盖写入合约软链接资源,例如:再次调用link时参数为 Hello v1 0x666888,将会覆盖写入/apps/Hello/v1 合约软链接资源。😍 用户可以通过控制台的 call 命令直接调用合约软链接,实现对真实合约的调用。😍 用户可以通过调用 readlink 接口获取合约软链接的真实合约地址,在调用合约时也可以读取合约地址和ABI进一步调用。
Please open Telegram to view this post
VIEW IN TELEGRAM
BFS主要接口实现
部署合约
SOL区块链破解生成代币 破解合约绕过区块链制定新的规则合约代币 #区块链破解 #代币生成 需要做的人可以来联系:@Perlah544
部署合约
在部署合约时,将会预先确定该级目录父目录均已经存在且可以写入信息,然后启动虚拟机执行部署创建合约操作;虚拟机执行成功后, 创建合约的表,并将虚拟机执行后的合约代码段、ABI、状态数据等写入合约表,最后在父目录的数据表中记录新部署的合约的元信息。整体流程如下图所示,流程图以创建“/apps/Hello/World”为例。
SOL区块链破解生成代币 破解合约绕过区块链制定新的规则合约代币 #区块链破解 #代币生成 需要做的人可以来联系:@Perlah544
智能合约漏洞分析
SOL区块链破解生成代币 破解合约绕过区块链制定新的规则合约代币 #区块链破解 #代币生成 需要做的人可以来联系:@Perlah544
本章把以太坊智能合约漏洞发生的原因分为是哪个层面:Solidity层面、EVM层面和区块链层面。如下表所示,所列出的漏洞都有对应真实案例,这些漏洞造成了巨额的资金损失。
SOL区块链破解生成代币 破解合约绕过区块链制定新的规则合约代币 #区块链破解 #代币生成 需要做的人可以来联系:@Perlah544
【一、Solidity层面】
这一层发生的漏洞主要是因为代码编写的逻辑问题或是使用了不当的Solidity内置方法,简而言之,它们基本都和Solidity的语言特性有关。例如:
SOL区块链破解生成代币 破解合约绕过区块链制定新的规则合约代币 #区块链破解 #代币生成 需要做的人可以来联系:@Perlah544
这一层发生的漏洞主要是因为代码编写的逻辑问题或是使用了不当的Solidity内置方法,简而言之,它们基本都和Solidity的语言特性有关。例如:
😍 重入攻击:是由于外部函数对合约的send()或者call.value()方法进行了递归调用造成的漏洞,解决办法是改为使用transfer(),该方法只能被调用一次。需要注意的是合约中应避免使用send()或者call.value()方法,以免受到重入攻击;😍 访问控制攻击:是由于合约未设置函数的访问权限而造成的漏洞,解决办法是为函数加一个onlyOwner修饰符,限制函数访问;😍 整数溢出:是由于在这个语言中,要计算的数如果超过了EVM能处理的数字范围(0~2256-1)就会重新从0或2256-1开始计数,解决办法是智能合约中只要是数学计算都使用safe-Math库;😍 未检查返回值:是由于合约使用了send()或call.value()函数,却没有检查函数是否执行成功就进行下一步操作导致的漏洞,解决办法是校验成功后再下一步;😍 拒绝服务:是由于攻击者恶意回退函数执行失败,使得原合约无法进行下一步操作而造成的漏洞,解决办法是把主动退款改为让用户申请退款,这样一个用户退款失败不影响合约继续执行。 这里需注意的是智能合约中能写成pull形式(用户主动发起调用)的代码不要写成push形式(合约主动执行操作)的代码;
SOL区块链破解生成代币 破解合约绕过区块链制定新的规则合约代币 #区块链破解 #代币生成 需要做的人可以来联系:@Perlah544
Please open Telegram to view this post
VIEW IN TELEGRAM
【二、EVM层面】
这一层发生的漏洞主要是由于EVM的限制导致的, 例如:
SOL区块链破解生成代币 破解合约绕过区块链制定新的规则合约代币 #区块链破解 #代币生成 需要做的人可以来联系:@Perlah544
这一层发生的漏洞主要是由于EVM的限制导致的, 例如:
😍 变量使用类型限制:是因为var关键字声明变量时默认变量的类型是uint8,如果使用了for(var i=0;i<x;i++)这样的用法且恰好x>255,那将导致无限循环直到gas耗尽。 所以在编写合约时应显式标注变量类型,避免使用var;😍 Gas限制:是由于在合约被调用时,每次修改合约状态都需要使用gas,如果一个函数涉及特别复杂的操作,需要消耗的gas达到了交易或区块的gas限制,那么对这个函数的调用将会在消耗很多gas的同时调用失败, 并回滚合约状态;😍 调用堆栈深度限制:是由于EVM最大允许栈深度为1024,如果调用者嵌套调用时,深度到1024,将会调用失败。
攻击者可以利用EVM的这三个限制使得合约调用失败,以此阻止合约下一步操作。避免这类漏洞的方法就是在编写合约中的函数时,避免让合约的下一步操作依赖这一步的状态。
SOL区块链破解生成代币 破解合约绕过区块链制定新的规则合约代币 #区块链破解 #代币生成 需要做的人可以来联系:@Perlah544
Please open Telegram to view this post
VIEW IN TELEGRAM
被操控值依赖
智能合约中可被人为操控的值有随机数的种子、交易顺序、合约余额等。
SOL区块链破解生成代币 破解合约绕过区块链制定新的规则合约代币 #区块链破解 #代币生成 需要做的人可以来联系:@Perlah544
智能合约中可被人为操控的值有随机数的种子、交易顺序、合约余额等。
😍 随机数种子。在某类游戏合约中,通常需要依赖一个随机数下注来判断输赢。而计算机世界中不存在一个绝对随机数,只能通过seed去生成一个相对随机数,但如果这个seed是可预测的,那随机数也就不随机了。 智能合约新手习惯使用未来的区块头属性作为随机数种子,如区块Hash、区块高度、时间戳、难度值等,然而这些区块头属性的值都是可被矿工人为控制的,所以不能依赖这些属性作为随机数种子。 解决办法是使用链外可信第三方服务来获取随机数,如Oraclize;或者一些专门的随机数生成合约,如开源项目RANDAO。😍 交易顺序,也是可被矿工操作的。😍 合约中的Ether余额,这个值也特别容易诱导开发人员将其当做确定值来作为判断条件。尤其是Solidity新手可能会认为合约只能通过带有payable修饰符的函数接受Ether, 事实上,除此之外还有两种方式可将Ether强制发给合约,一种是通过selfdestruct自毁合约,可在删除合约地址中所有字节码的同时将合约存储的Ether强制发送到指定地址, 若这个地址是一个合约地址,那么这些Ether将不会调用这个合约的任何方法而是直接存入合约中。另一种更神奇的方式是让这个合约在出生前就拥有一笔财富,因为合约地址都是确定的, 可根据这个合约的创建人地址以及交易的nonce值计算得到,这样就可在创建这个合约之前就给它转入一笔Ether,当合约创建后就拥有非零Ether余额。
合约逻辑应该避免依赖于合约余额的确切值,因为可能飞来横币。如果非要使用合约余额作为判断条件,也应根据实时查询到的合约当前余额来判断。
SOL区块链破解生成代币 破解合约绕过区块链制定新的规则合约代币 #区块链破解 #代币生成 需要做的人可以来联系:@Perlah544
Please open Telegram to view this post
VIEW IN TELEGRAM
智能合约检测现状
SOL区块链破解生成代币 破解合约绕过区块链制定新的规则合约代币 #区块链破解 #代币生成 需要做的人可以来联系:@Perlah544
目前全球做智能合约安全审计的公司并不多,开发出形式化验证工具的更是少之又少,国内外做合约形式化验证的平台有俄罗斯的SmartDec、瑞士的Securify、 美国的Quantstamp和中国的Vaas,其中VaaS检测平台比较易用。除此之外,非基于形式化验证的工具有Solidity开发文档中推荐的SmartCheck、Oyente、Manticore、Mythril、Porosity等, 这些工具只能检测特定的部分漏洞。再者就是依靠专业智能合约审计人员人工检测,检测结果依赖审计人员水平而定。
SOL区块链破解生成代币 破解合约绕过区块链制定新的规则合约代币 #区块链破解 #代币生成 需要做的人可以来联系:@Perlah544
智能合约检测方法
👀 大致有以下几种方法:
SOL区块链破解生成代币 破解合约绕过区块链制定新的规则合约代币 #区块链破解 #代币生成 需要做的人可以来联系:@Perlah544
😍 把已知的可能存在漏洞的代码写在工具的源代码中,当待检测的合约代码有类似漏洞代码或逻辑时,便将其标记出来,这一类检测工具有SmarkCheck、Securify等。😍 对合约代码进行反编译,然后通过对字节码的分析,找出漏洞,这一类检测工具有Oyente、Manticore、Mythril、Porosity等。😍 通过生成一个DOT图,显示合约代码的功能控制流程,实现对代码逻辑的检测,这列工具主要有Solgraph。
还有一类检测方法与上述工具的检测思路都不一致,它就是形式化验证,这是形式化方法中的一部分。形式化方法就是用数学工具来进行定义、开发和验证一个系统。
SOL区块链破解生成代币 破解合约绕过区块链制定新的规则合约代币 #区块链破解 #代币生成 需要做的人可以来联系:@Perlah544
Please open Telegram to view this post
VIEW IN TELEGRAM