[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-77348":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":19,"compositeScore":20,"rankGlobal":10,"rankLanguage":10,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":24,"hasPages":24,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":31,"readmeContent":32,"aiSummary":33,"trendingCount":16,"starSnapshotCount":16,"syncStatus":34,"lastSyncTime":35,"discoverSource":36},77348,"anchor","otter-sec\u002Fanchor","otter-sec","⚓ Solana Program Framework","https:\u002F\u002Fanchor-lang.com",null,"Rust",5083,1938,58,66,0,4,26,3,40.86,"Apache License 2.0",false,"master",true,[26,27,28,29,30],"blockchain","coral","rust","smart-contracts","solana","2026-06-12 02:03:42","\u003Cdiv align=\"center\">\n  \u003Cimg height=\"170x\" src=\"https:\u002F\u002Fpbs.twimg.com\u002Fmedia\u002FFVUVaO9XEAAulvK?format=png&name=small\" \u002F>\n\n  \u003Ch1>Anchor\u003C\u002Fh1>\n\n  \u003Cp>\n    \u003Cstrong>Solana Program Framework\u003C\u002Fstrong>\n  \u003C\u002Fp>\n\n  \u003Cp>\n    \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fotter-sec\u002Fanchor\u002Factions\">\u003Cimg alt=\"Build Status\" src=\"https:\u002F\u002Fgithub.com\u002Fotter-sec\u002Fanchor\u002Factions\u002Fworkflows\u002Ftests.yaml\u002Fbadge.svg\" \u002F>\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fanchor-lang.com\">\u003Cimg alt=\"Tutorials\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdocs-tutorials-blueviolet\" \u002F>\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002FNHHGSXAnXk\">\u003Cimg alt=\"Discord Chat\" src=\"https:\u002F\u002Fimg.shields.io\u002Fdiscord\u002F889577356681945098?color=blueviolet\" \u002F>\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fopensource.org\u002Flicenses\u002FApache-2.0\">\u003Cimg alt=\"License\" src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fotter-sec\u002Fanchor?color=blueviolet\" \u002F>\u003C\u002Fa>\n  \u003C\u002Fp>\n\u003C\u002Fdiv>\n\n[Anchor](https:\u002F\u002Fwww.anchor-lang.com\u002F) is a framework providing several convenient developer tools for writing Solana programs (sometimes called 'smart contracts').\n\n- Rust eDSL for writing Solana programs\n- [IDL](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FInterface_description_language) specification\n- TypeScript package for generating clients from IDL\n- CLI and workspace management for developing complete applications\n\nAnchor is the most popular framework for Solana programs.\n\n> [!NOTE]\n> If you're familiar with developing in Ethereum's [Solidity](https:\u002F\u002Fdocs.soliditylang.org\u002Fen\u002F), [Truffle](https:\u002F\u002Fwww.trufflesuite.com\u002F), [web3.js](https:\u002F\u002Fgithub.com\u002Fethereum\u002Fweb3.js), then using Anchor will be familiar. Although the DSL syntax and semantics are targeted at Solana, the high level flow of writing RPC request handlers, emitting an IDL, and generating clients from IDL is the same.\n\n## Getting Started\n\nFor a quickstart guide and in depth tutorials, see the [Anchor book](https:\u002F\u002Fbook.anchor-lang.com) and the [Anchor documentation](https:\u002F\u002Fanchor-lang.com).\n\nTo jump straight to examples, go [here](https:\u002F\u002Fgithub.com\u002Fotter-sec\u002Fanchor\u002Ftree\u002Fmaster\u002Fexamples). For the latest Rust and TypeScript API documentation, see [docs.rs](https:\u002F\u002Fdocs.rs\u002Fanchor-lang) and the [typedoc](https:\u002F\u002Fwww.anchor-lang.com\u002Fdocs\u002Fclients\u002Ftypescript).\n\n## Packages\n\n| Package                 | Description                                              | Version                                                                                                                          | Docs                                                                                                            |\n| :---------------------- | :------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------- |\n| `anchor-lang`           | Rust primitives for writing programs on Solana           | [![Crates.io](https:\u002F\u002Fimg.shields.io\u002Fcrates\u002Fv\u002Fanchor-lang?color=blue)](https:\u002F\u002Fcrates.io\u002Fcrates\u002Fanchor-lang)                     | [![Docs.rs](https:\u002F\u002Fdocs.rs\u002Fanchor-lang\u002Fbadge.svg)](https:\u002F\u002Fdocs.rs\u002Fanchor-lang)                                |\n| `anchor-spl`            | CPI clients for SPL programs on Solana                   | [![crates](https:\u002F\u002Fimg.shields.io\u002Fcrates\u002Fv\u002Fanchor-spl?color=blue)](https:\u002F\u002Fcrates.io\u002Fcrates\u002Fanchor-spl)                          | [![Docs.rs](https:\u002F\u002Fdocs.rs\u002Fanchor-spl\u002Fbadge.svg)](https:\u002F\u002Fdocs.rs\u002Fanchor-spl)                                  |\n| `anchor-client`         | Rust client for Anchor programs                          | [![crates](https:\u002F\u002Fimg.shields.io\u002Fcrates\u002Fv\u002Fanchor-client?color=blue)](https:\u002F\u002Fcrates.io\u002Fcrates\u002Fanchor-client)                    | [![Docs.rs](https:\u002F\u002Fdocs.rs\u002Fanchor-client\u002Fbadge.svg)](https:\u002F\u002Fdocs.rs\u002Fanchor-client)                            |\n| `@anchor-lang\u002Fcore`     | TypeScript client for Anchor programs                    | [![npm](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002F@anchor-lang\u002Fcore.svg?color=blue)](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@anchor-lang\u002Fcore)         | [![Docs](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdocs-typedoc-blue)](https:\u002F\u002Fotter-sec.github.io\u002Fanchor\u002Fts\u002Findex.html)     |\n| `@anchor-lang\u002Fcli` | CLI to support building and managing an Anchor workspace | [![npm](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002F@anchor-lang\u002Fcli.svg?color=blue)](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@anchor-lang\u002Fcli) | [![Docs](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdocs-cli-blue)](https:\u002F\u002Fwww.anchor-lang.com\u002Fdocs\u002Freferences\u002Fcli) |\n\n## Note\n\n- **Anchor is in active development, so all APIs are subject to change.**\n- **This code is unaudited. Use at your own risk.**\n\n## Examples\n\nHere's a counter program, where only the designated `authority`\ncan increment the count.\n\n```rust\nuse anchor_lang::prelude::*;\n\ndeclare_id!(\"Fg6PaFpoGXkYsidMpWTK6W2BeZ7FEfcYkg476zPFsLnS\");\n\n#[program]\nmod counter {\n    use super::*;\n\n    pub fn initialize(ctx: Context\u003CInitialize>, start: u64) -> Result\u003C()> {\n        let counter = &mut ctx.accounts.counter;\n        counter.authority = *ctx.accounts.authority.key;\n        counter.count = start;\n        Ok(())\n    }\n\n    pub fn increment(ctx: Context\u003CIncrement>) -> Result\u003C()> {\n        let counter = &mut ctx.accounts.counter;\n        counter.count += 1;\n        Ok(())\n    }\n}\n\n#[derive(Accounts)]\npub struct Initialize\u003C'info> {\n    #[account(init, payer = authority, space = 48)]\n    pub counter: Account\u003C'info, Counter>,\n    pub authority: Signer\u003C'info>,\n    pub system_program: Program\u003C'info, System>,\n}\n\n#[derive(Accounts)]\npub struct Increment\u003C'info> {\n    #[account(mut, has_one = authority)]\n    pub counter: Account\u003C'info, Counter>,\n    pub authority: Signer\u003C'info>,\n}\n\n#[account]\npub struct Counter {\n    pub authority: Pubkey,\n    pub count: u64,\n}\n```\n\nFor more, see the [examples](https:\u002F\u002Fgithub.com\u002Fotter-sec\u002Fanchor\u002Ftree\u002Fmaster\u002Fexamples)\nand [tests](https:\u002F\u002Fgithub.com\u002Fotter-sec\u002Fanchor\u002Ftree\u002Fmaster\u002Ftests) directories.\n\n## License\n\nAnchor is licensed under [Apache 2.0](.\u002FLICENSE).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted\nfor inclusion in Anchor by you, as defined in the Apache-2.0 license, shall be\nlicensed as above, without any additional terms or conditions.\n\n## Contribution\n\nThank you for your interest in contributing to Anchor!\nPlease see the [CONTRIBUTING.md](.\u002FCONTRIBUTING.md) to learn how.\n\n### Thanks ❤️\n\n\u003Cdiv align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fotter-sec\u002Fanchor\u002Fgraphs\u002Fcontributors\">\n    \u003Cimg src=\"https:\u002F\u002Fcontrib.rocks\u002Fimage?repo=otter-sec\u002Fanchor\" width=\"100%\" \u002F>\n  \u003C\u002Fa>\n\u003C\u002Fdiv>\n","Anchor 是一个为 Solana 程序（也称为智能合约）开发提供便利工具的框架。它利用 Rust 语言的领域特定语言（eDSL）来编写 Solana 程序，并支持接口描述语言（IDL）规范，可以自动生成 TypeScript 客户端代码。此外，Anchor 还提供了命令行界面和工作区管理功能，帮助开发者构建完整的应用程序。此框架非常适合需要在 Solana 区块链上快速开发、部署智能合约或构建去中心化应用的场景，尤其是对于那些已经熟悉以太坊 Solidity 或 Truffle 开发环境的开发者来说，能够快速上手。",2,"2026-06-11 03:55:21","top_language"]