Go Reflect

tags: Go Elem() Returns Value type T struct { } t := &T{} v := reflect.New(reflect.TypeOf(t)).Elem() // type of v is `T` Interface() Returns Pointer type T struct { } t := &T{} v := reflect.New(reflect.TypeOf(t)).Interface() // type of v is `&T`

November 23, 2022 · 1 min · Gray King

Solana 101: 5. Escrow dApp

tags: Solana 101: Create an Escrow dApp

November 22, 2022 · 1 min · Gray King

Solana 101: 3. SPL Token

tags: Solana 101: Create an Escrow dApp 连接钱包 安装 Phantom 钱包; 使用 @solana/wallet-adapter 连接钱包。官方提供了 React 相关的实现,Vue 可以通过社区提供的库:https://github.com/lorisleiva/solana-wallets-vue。 npm install solana-wallets-vue @solana/wallet-adapter-wallets 创建 SPL Token 安装依赖 npm install --save @solana/spl-token 创建代币 通过 Token Program 创建 Token,Solana 通过其特有的账号机制,通过创建一个账号并将 Owner 设置为一个统一的 Token Program 即可发行一种代币。1 发行代币 要持有代币必须创建一个对应的 Associated Token Account(ATA),也就是要接收一个代币首先要检查有没有对应代币的 ATA,没有则创建,然后给对应的 ATA 转移代币。 代币转帐 燃烧代币 SPL Token 交互:授权 Program 转帐 Libraries: spl_associated_token_account Steps: Delegate token to Program – in frontend. Create a Associated Token Account for Program to hold token. Q: How to avoid duplicated initialization? A: data size of account. Program: Transfer token from wallet to Program USDT ↩︎ ...

November 22, 2022 · 1 min · Gray King

Solana 101: 4. SPL NFT

tags: Solana 101: Create an Escrow dApp

November 22, 2022 · 1 min · Gray King

Solana 101: 2. Anchor

tags: Solana 101: Create an Escrow dApp 链上数据存储 账号所有权 账号可以通过 Metadata 指定一个 Program 作为拥有者(Owner); Program 作为拥有者可以: 修改账号数据; 可以使用该 PDA 进行签名。 PDA(Program Derived Address) 1 使用 PDA 进行合约状态链上存储。 PDA 只有一个类似公钥的地址,但是没有对应的私钥; 链下生成:通过 PublicKey.findProgramAddress 生成 PDA,seeds 用于生成多个 PDA; 链上创建:将 PDA 作为账号传递给 Program 进行链上创建:填充足够的 lamports 用于支付租金、开辟空间、指定 program 作为 Owner。 创建一个计数器 部署智能合约; 生成一个 PDA 并进行链上创建; 增加计数器; 其他账号获取 PDA,并增加计数器; 使用 Anchor 重写计数器 安装 Anchor 安装 Yarn 安装 avm cargo install --git https://github.com/project-serum/anchor avm --locked --force 使用 avm 安装 anchor avm install latest avm use latest 创建 anchor 项目 anchor init hello-anchor anchor 项目结构 Understanding Program Derived Addresses ↩︎ ...

November 22, 2022 · 1 min · Gray King