Solana基础 - 如何使用Wrapped SOL
Wrapped SOL 就像任何其他代币铸币一样。不同之处在于在地址syncNative 上专门使用和创建代币账户NATIVE_MINT。 ### 创建代币账户 类似于创建 SPL 代币账户,但用 minus 替换NATIVE_MINT ### 添加余额 有两种方式可以为 Wra…
欢迎所有爱好区块链技术的人加入。
INDEX
共 1183 篇
Wrapped SOL 就像任何其他代币铸币一样。不同之处在于在地址syncNative 上专门使用和创建代币账户NATIVE_MINT。 ### 创建代币账户 类似于创建 SPL 代币账户,但用 minus 替换NATIVE_MINT ### 添加余额 有两种方式可以为 Wra…
撤销将设置委托为空,并将委托金额设置为 0。 https://solana.com/zh/developers/cookbook/tokens/revoke-token-delegate
你可以设置一个代表你允许的金额,代表就是你token账户的另外一个拥有者。 https://solana.com/zh/developers/cookbook/tokens/approve-token-delegate
可以设置/更新权限,一共有4种: - MintTokens(铸币账户) - FreezeAccount(铸币账户) - AccountOwner(代币账户) - CloseAccount(代币账户) https://solana.com/zh/developers/cookboo…
如果你不想再使用代币账户,你可以关闭它。有两种情况 - Wrapped SOL - 关闭将包装式 SOL 转换为 SOL - 其他代币-只有当代币账户余额为 0 时才可以关闭它。 https://solana.com/zh/developers/cookbook/tokens/c…
如果你是代币账户权威,你可以销毁代币。 https://solana.com/zh/developers/cookbook/tokens/burn-tokens
您可以将代币从一个代币账户转移到另一个代币账户。 https://solana.com/zh/developers/cookbook/tokens/transfer-tokens
当你铸造代币时,你会增加供应量并将新代币转移到特定的代币账户。 https://solana.com/zh/developers/cookbook/tokens/mint-tokens
代币账户有代币余额,只需一次调用即可检索 ### web3.js ### Rust https://solana.com/zh/developers/cookbook/tokens/get-token-balance
每个代币账户都包含有关代币的信息,例如所有者、铸币厂、金额(余额)。 https://solana.com/zh/developers/cookbook/tokens/get-token-account
用户需要一个代币账户来持有代币。 用户对其拥有的每种类型的代币至少拥有一个代币账户。 关联代币账户是针对每个密钥对确定性创建的账户。ATA 是管理代币账户的推荐方法。 https://solana.com/zh/developers/cookbook/tokens/create-…
为了获取代币的当前供应量、权限或小数,您需要获取代币铸造的帐户信息 https://solana.com/zh/developers/cookbook/tokens/get-token-mint
创建代币是通过创建所谓的“铸币账户”来完成的。这个铸币账户稍后会用来将代币铸入用户的代币账户。 https://solana.com/zh/developers/cookbook/tokens/create-mint-account
由于 Solana 中的程序是无状态的,因此作为程序创建者,我们必须确保传递的帐户尽可能得到验证,以避免任何恶意帐户进入。可以进行的基本检查包括 1. 检查预期签名者帐户是否确实已签名 2. 检查预期状态帐户是否已被检查为可写 3. 检查预期状态账户的所有者是否是被调用的程序 I…
Solana 允许我们查看当前交易中的所有指令。我们可以将它们存储在变量中并对其进行迭代。我们可以用它做很多事情,比如检查可疑交易。 https://solana.com/zh/developers/cookbook/programs/read-multiple-instruct…
Solana 中的几乎所有指令都需要至少 2 - 3 个帐户,并且它们 会在指令处理程序中提及,说明这些帐户集的预期顺序。如果我们利用iter() Rust 中的方法,而不是手动索引帐户,那么这相当简单。该 next_account_info方法基本上对可迭代对象的第一个索引进行…
程序派生地址只是程序拥有的一个帐户,但没有私钥。相反,它的签名是通过一组种子和一个碰撞(一个 随机数,确保它“偏离曲线”,即不是有效的公钥)获得的。“生成”程序地址 不同于“创建”它。可以使用生成 PDA Pubkey::find_program_address。创建 PDA 本…
跨程序调用,简单地说就是在我们的程序中调用另一个程序的指令。最好的例子就是 Uniswap 的swap 功能。UniswapV2Router合约调用交换所需的逻辑,并调用ERC20合约的转移函数从一个人转移到另一个人。同样,我们可以调用程序的指令来实现多种用途。 让我们看一下第一…
您可以使用 更改程序拥有的帐户的大小realloc。 realloc最多可以将帐户大小调整为 10KB。当您使用realloc增加帐户大小时,您必须转移lamports才能使该帐户免于租用。 https://solana.com/zh/developers/cookbook/pr…
获取时钟(即当前时间)可以通过两种方式完成: 1. 传递SYSVAR_CLOCK_PUBKEY指令 2. 在指令内部直接访问时钟。 了解这两种方法是很有好处的,因为一些遗留程序仍然需要将其SYSVAR_CLOCK_PUBKEY作为一个帐户。 ## 在指令中将 Clock 作为账户…