solana-program-library
A collection of Solana programs maintained by Solana Labs
File Explorer
Download Latest Version (.zip)- fuzz-nightly.yml
- label-actions.yml
- manage-stale-issues-and-prs.yml
- publish-rust.yml
- pull-request-account-compression.yml
- pull-request-binary-oracle-pair.yml
- pull-request-docs.yml
- pull-request-examples.yml
- pull-request-governance.yml
- pull-request-js.yml
- pull-request-libraries.yml
- pull-request-name-service.yml
- pull-request-shared-memory.yml
- pull-request-token-collection.yml
- pull-request-token-lending.yml
- pull-request-token-swap.yml
- pull-request-token-upgrade.yml
- pull-request.yml
- spl_action.yml
- dependabot.yml
- label-actions.yml
- application_data.rs
- changelog_event.rs
- mod.rs
- mod.rs
- concurrent_merkle_tree_header.rs
- mod.rs
- path_node.rs
- canopy.rs
- concurrent_tree_wrapper.rs
- error.rs
- lib.rs
- macros.rs
- zero_copy.rs
- Cargo.toml
- README.md
- Xargo.toml
- lib.rs
- Cargo.toml
- README.md
- spl_account_compression.json
- ConcurrentMerkleTreeAccount.ts
- index.ts
- index.ts
- index.ts
- index.ts
- append.ts
- appendCanopyNodes.ts
- closeEmptyTree.ts
- index.ts
- initEmptyMerkleTree.ts
- initPreparedTreeWithRoot.ts
- insertOrAppend.ts
- prepareBatchMerkleTree.ts
- replaceLeaf.ts
- transferAuthority.ts
- verifyLeaf.ts
- AccountCompressionEvent.ts
- ApplicationDataEvent.ts
- ApplicationDataEventV1.ts
- ChangeLogEvent.ts
- ChangeLogEventV1.ts
- CompressionAccountType.ts
- ConcurrentMerkleTreeHeader.ts
- ConcurrentMerkleTreeHeaderData.ts
- ConcurrentMerkleTreeHeaderDataV1.ts
- index.ts
- PathNode.ts
- index.ts
- index.ts
- index.ts
- Canopy.ts
- ConcurrentMerkleTree.ts
- index.ts
- Path.ts
- index.ts
- concurrentMerkleTreeAccount.test.ts
- applicationData.test.ts
- changelog.test.ts
- pre-batch-init-tree-account.json
- accountCompression.test.ts
- merkleTree.test.ts
- utils.ts
- .eslintignore
- .eslintrc.js
- .gitignore
- .npmignore
- .solitarc.js
- jest.config.js
- package.json
- prettierrc.yaml
- README.md
- tsconfig.base.json
- tsconfig.json
- typedoc.json
- Anchor.toml
- Cargo.lock
- Cargo.toml
- README.md
- README.md
- __init__.py
- binary_option.py
- requirements.txt
- test.py
- entrypoint.rs
- error.rs
- instruction.rs
- lib.rs
- processor.rs
- spl_utils.rs
- state.rs
- system_utils.rs
- validation_utils.rs
- Cargo.toml
- program_id.md
- README.md
- entrypoint.rs
- error.rs
- instruction.rs
- lib.rs
- processor.rs
- state.rs
- tests.rs
- Cargo.toml
- Xargo.toml
- README.md
- purge-ubuntu-runner.sh
- affects.sh
- anchor-build.sh
- cargo-build-test.sh
- cargo-test-sbf.sh
- cliff.toml
- do-audit.sh
- env.sh
- fuzz.sh
- install-anchor.sh
- install-build-deps.sh
- install-program-deps.sh
- js-test-account-compression.sh
- js-test-name-service.sh
- js-test-token-lending.sh
- js-test-token-swap.sh
- publish-rust.sh
- read-cargo-variable.sh
- rust-version.sh
- solana-version.sh
- concepts.md
- usage.md
- encryption.md
- equality_proof.pdf
- overview.md
- pubkey_proof.pdf
- twisted_elgamal.pdf
- validity_proof.pdf
- zero_proof.pdf
- zkps.md
- quickstart.md
- custom.css
- cli.md
- fees.md
- overview.md
- quickstart.md
- DocSearch.js
- lunar-search.js
- templates.js
- utils.js
- algolia.css
- index.js
- styles.css
- extensions.mdx
- onchain.md
- presentation.md
- status.md
- wallet.md
- configuring-extra-accounts.md
- examples.md
- specification.md
- account-compression.md
- associated-token-account.md
- confidential-token.md
- feature-proposal.md
- introduction.md
- memo.md
- name-service.md
- shared-memory.md
- single-pool.mdx
- stake-pool.md
- token-2022.md
- token-lending.md
- token-swap.md
- token-upgrade.md
- token.mdx
- transfer-hook-interface.md
- code-block-buttons.css
- android-chrome-192x192.png
- android-chrome-512x512.png
- apple-touch-icon.png
- dark-mark-white.inline.svg
- favicon-16x16.png
- favicon-32x32.png
- favicon.ico
- logo-horizontal-dark.svg
- logo-horizontal.svg
- logo.svg
- code-block-buttons.js
- .gitignore
- babel.config.js
- build.sh
- docusaurus.config.js
- package-lock.json
- package.json
- publish-docs.sh
- README.md
- sidebars.js
- cross-program-invocation.c
- custom-heap.c
- test_custom-heap.c
- logging.c
- test_logging.c
- test_transfer-lamports.c
- transfer-lamports.c
- makefile
- README.md
- entrypoint.rs
- lib.rs
- processor.rs
- functional.rs
- Cargo.toml
- Xargo.toml
- entrypoint.rs
- lib.rs
- processor.rs
- functional.rs
- Cargo.toml
- Xargo.toml
- entrypoint.rs
- lib.rs
- processor.rs
- functional.rs
- Cargo.toml
- Xargo.toml
- entrypoint.rs
- lib.rs
- processor.rs
- functional.rs
- Cargo.toml
- Xargo.toml
- entrypoint.rs
- lib.rs
- processor.rs
- functional.rs
- Cargo.toml
- Xargo.toml
- entrypoint.rs
- lib.rs
- processor.rs
- functional.rs
- Cargo.toml
- README.md
- README.md
- lib.rs
- max_voter_weight.rs
- voter_weight.rs
- Cargo.toml
- README.md
- entrypoint.rs
- error.rs
- instruction.rs
- lib.rs
- processor.rs
- Cargo.toml
- Xargo.toml
- README.md
- entrypoint.rs
- error.rs
- instruction.rs
- lib.rs
- processor.rs
- state.rs
- cookies.rs
- mod.rs
- process_post_message.rs
- Cargo.toml
- Xargo.toml
- README.md
- max_voter_weight.rs
- mod.rs
- voter_weight.rs
- mod.rs
- process_add_required_signatory.rs
- process_add_signatory.rs
- process_cancel_proposal.rs
- process_cast_vote.rs
- process_complete_proposal.rs
- process_create_governance.rs
- process_create_native_treasury.rs
- process_create_proposal.rs
- process_create_realm.rs
- process_create_token_owner_record.rs
- process_deposit_governing_tokens.rs
- process_execute_transaction.rs
- process_finalize_vote.rs
- process_insert_transaction.rs
- process_refund_proposal_deposit.rs
- process_relinquish_token_owner_record_locks.rs
- process_relinquish_vote.rs
- process_remove_required_signatory.rs
- process_remove_transaction.rs
- process_revoke_governing_tokens.rs
- process_set_governance_config.rs
- process_set_governance_delegate.rs
- process_set_realm_authority.rs
- process_set_realm_config.rs
- process_set_realm_config_item.rs
- process_set_token_owner_record_lock.rs
- process_sign_off_proposal.rs
- process_update_program_metadata.rs
- process_withdraw_governing_tokens.rs
- enums.rs
- governance.rs
- legacy.rs
- mod.rs
- native_treasury.rs
- program_metadata.rs
- proposal.rs
- proposal_deposit.rs
- proposal_transaction.rs
- realm.rs
- realm_config.rs
- required_signatory.rs
- signatory_record.rs
- token_owner_record.rs
- vote_record.rs
- bpf_loader_upgradeable.rs
- mod.rs
- pack.rs
- spl_token.rs
- structs.rs
- entrypoint.rs
- error.rs
- instruction.rs
- lib.rs
- .gitignore
- solana_bpf_rust_upgradeable.so
- solana_bpf_rust_upgraded.so
- args.rs
- cookies.rs
- legacy.rs
- mod.rs
- migrate_legacy_accounts.rs
- process_add_required_signatory.rs
- process_add_signatory.rs
- process_cancel_proposal.rs
- process_cast_vote.rs
- process_complete_proposal.rs
- process_create_governance.rs
- process_create_native_treasury.rs
- process_create_proposal.rs
- process_create_realm.rs
- process_create_token_owner_record.rs
- process_deposit_governing_tokens.rs
- process_execute_transaction.rs
- process_finalize_vote.rs
- process_insert_transaction.rs
- process_refund_proposal_deposit.rs
- process_relinquish_token_owner_record_locks.rs
- process_relinquish_vote.rs
- process_remove_required_signatory.rs
- process_remove_transaction.rs
- process_revoke_governing_tokens.rs
- process_set_governance_config.rs
- process_set_governance_delegate.rs
- process_set_realm_authority.rs
- process_set_realm_config.rs
- process_set_realm_config_item.rs
- process_set_token_owner_record_lock.rs
- process_sign_off_proposal.rs
- process_update_program_metadata.rs
- process_withdraw_governing_tokens.rs
- setup_realm_with_all_addins.rs
- setup_realm_with_max_voter_weight_addin.rs
- setup_realm_with_voter_weight_addin.rs
- use_proposals_with_multiple_options.rs
- use_realm_with_all_addins.rs
- use_realm_with_max_voter_weight_addin.rs
- use_realm_with_voter_weight_addin.rs
- use_veto_vote.rs
- Cargo.toml
- Xargo.toml
- governance-accounts.jpg
- governance-workflow.jpg
- addins.rs
- cookies.rs
- lib.rs
- tools.rs
- Cargo.toml
- README.md
- account.rs
- error.rs
- lib.rs
- Cargo.toml
- README.md
- CHANGELOG.md
- NOTES.md
- README.md
- README.md
- changelog.rs
- concurrent_merkle_tree.rs
- error.rs
- hash.rs
- lib.rs
- log.rs
- node.rs
- path.rs
- tests.rs
- Cargo.toml
- approximations.rs
- checked_ceil_div.rs
- lib.rs
- precise_number.rs
- uint.rs
- Cargo.toml
- README.md
- entrypoint.rs
- error.rs
- instruction.rs
- lib.rs
- processor.rs
- instruction_count.rs
- Cargo.toml
- README.md
- Xargo.toml
- lib.rs
- Cargo.toml
- README.md
- accounts.rs
- instruction.rs
- lib.rs
- token.rs
- test.rs
- build.sh
- Cargo.toml
- spl_managed_token.json
- Approve.ts
- Burn.ts
- CloseAccount.ts
- index.ts
- InitializeAccount.ts
- InitializeMint.ts
- MintTo.ts
- Revoke.ts
- Transfer.ts
- index.ts
- .solitarc.js
- package.json
- yarn.lock
- README.md
- README.md
- bindings.ts
- index.ts
- instructions.ts
- state.ts
- twitter.ts
- utils.ts
- index.test.ts
- index.test.ts
- .eslintignore
- .eslintrc.json
- jest.config.ts
- package.json
- README.md
- tsconfig.all.json
- tsconfig.base.json
- tsconfig.cjs.json
- tsconfig.esm.json
- tsconfig.json
- tsconfig.root.json
- entrypoint.rs
- error.rs
- instruction.rs
- lib.rs
- processor.rs
- state.rs
- functional.rs
- Cargo.toml
- program-id.md
- Xargo.toml
- .gitignore
- README.md
- README.md
- lib.rs
- shared-memory.rs
- Cargo.toml
- program-id.md
- Xargo.toml
- README.md
- README.md
- README.md
- README.md
- entrypoint.rs
- error.rs
- instruction.rs
- lib.rs
- processor.rs
- validation_utils.rs
- Cargo.toml
- README.md
- README.md
- entrypoint.rs
- lib.rs
- processor.rs
- setup.rs
- token_collection.rs
- Cargo.toml
- README.md
- README.md
- main.rs
- Cargo.toml
- README.md
- entrypoint.rs
- lib.rs
- processor.rs
- Cargo.lock
- Cargo.toml
- Xargo.toml
- borrowObligationLiquidity.ts
- depositObligationCollateral.ts
- depositReserveLiquidity.ts
- flashLoan.ts
- index.ts
- initLendingMarket.ts
- initObligation.ts
- initReserve.ts
- instruction.ts
- liquidateObligation.ts
- redeemReserveCollateral.ts
- refreshObligation.ts
- refreshReserve.ts
- repayObligationLiquidity.ts
- setLendingMarketOwner.ts
- withdrawObligationCollateral.ts
- index.ts
- lastUpdate.ts
- lendingMarket.ts
- obligation.ts
- reserve.ts
- index.ts
- layout.ts
- constants.ts
- index.ts
- .eslintignore
- .eslintrc.json
- .gitignore
- package.json
- README.md
- rollup.config.ts
- tsconfig.json
- reserve.txt
- common.rs
- decimal.rs
- mod.rs
- rate.rs
- last_update.rs
- lending_market.rs
- mod.rs
- obligation.rs
- reserve.rs
- entrypoint.rs
- error.rs
- instruction.rs
- lib.rs
- processor.rs
- pyth.rs
- 3Mnn2fX6rQyUsyELYms1sBJyChWofzSNRoqYzvgMVz5E.bin
- 6MEwdxe4g1NeAF9u6KDG14anJpFsVEa2cvr5H6iriFZ8.bin
- 992moaMQKs32GKZ9dxi8keyM2bUmbrwBZpK4p2K6X5Vs.bin
- J83w4HKfqxwcq3BEMMkPFSppX3gqekLyLJBexebFVkix.bin
- lending_market.json
- lending_market_owner.json
- oracle_program_id.json
- README.md
- srm_mint.json
- usdc_mint.json
- flash_loan_receiver.rs
- mod.rs
- borrow_obligation_liquidity.rs
- deposit_obligation_collateral.rs
- deposit_reserve_liquidity.rs
- flash_loan.rs
- init_lending_market.rs
- init_obligation.rs
- init_reserve.rs
- liquidate_obligation.rs
- modify_reserve_config.rs
- obligation_end_to_end.rs
- redeem_reserve_collateral.rs
- refresh_obligation.rs
- refresh_reserve.rs
- repay_obligation_liquidity.rs
- set_lending_market_owner.rs
- withdraw_obligation_collateral.rs
- Cargo.toml
- cbindgen.toml
- program-id.md
- Xargo.toml
- devnet.json
- flash_loan_design.md
- README.md
- README.md
- account.ts
- new-account-with-lamports.ts
- new-system-account-with-airdrop.ts
- sleep.ts
- index.ts
- main.test.ts
- .eslintignore
- .eslintrc
- .gitignore
- .mocharc.json
- .prettierrc.yaml
- package.json
- README.md
- tsconfig.all.json
- tsconfig.base.json
- tsconfig.cjs.json
- tsconfig.esm.json
- tsconfig.json
- tsconfig.root.json
- instructions.rs
- lib.rs
- native_account_data.rs
- native_processor.rs
- native_token.rs
- native_token_swap.rs
- Cargo.toml
- token-swap.h
- constant_price.txt
- base.rs
- calculator.rs
- constant_price.rs
- constant_product.rs
- fees.rs
- mod.rs
- offset.rs
- constraints.rs
- entrypoint.rs
- error.rs
- instruction.rs
- lib.rs
- processor.rs
- state.rs
- Cargo.toml
- cbindgen.toml
- program-id.md
- Xargo.toml
- DynamicMarketMaking.md
- Pausable.md
- ProactiveMarketMaking.md
- StakePoolStableCurve.md
- README.md
- main.rs
- Cargo.toml
- entrypoint.rs
- error.rs
- instruction.rs
- lib.rs
- processor.rs
- functional.rs
- Cargo.toml
- program-id.md
- README.md
- entrypoint.rs
- instruction.rs
- lib.rs
- processor.rs
- state.rs
- Cargo.toml
- main
- main.rs
- Cargo.toml
- main.rs
- Cargo.toml
- .eslintrc.js
- .gitignore
- .mergify.yml
- .npmrc
- .prettierignore
- .prettierrc
- Anchor.toml
- cargo-nightly
- Cargo.lock
- Cargo.toml
- cbindgen.sh
- coverage.sh
- LICENSE
- package.json
- patch.crates-io.sh
- pnpm-lock.yaml
- pnpm-workspace.yaml
- README.md
- rust-toolchain.toml
- rustfmt.toml
- SECURITY.md
- turbo.json
- update-solana-dependencies.sh
π Installation Guide
git clone https://github.com/solana-labs/solana-program-library
Downloads the entire project code from GitHub to your computer.
cd solana-program-library
Moves into the project folder you just downloaded.
2. Node.js
Easy Recommendedcd account-compression/sdk
This project's files live in a subfolder, so move into it first.
npm install
Downloads and installs the libraries listed in package.json.
npm start
Starts the development/run server.
3. Python
Easypip install -r binary-option/client/requirements.txt
Installs the Python libraries listed in requirements.txt (or similar).
python <μ€νν νμΌλͺ
>.py # READMEμμ μ νν μ€ν νμΌλͺ
μ νμΈνμΈμ
Runs the Python script (or module).
4. Rust
Medium- Git Needed to download the project code from GitHub.
- Rust (rustup) Installing via rustup also installs cargo.
$ cargo build-sbf
Compiles the Rust project.
$ cargo build
Compiles the Rust project.
$ cargo test # <-- runs host-based tests
Type this command into your terminal and run it.
$ cargo test-sbf # <-- runs BPF program tests
Type this command into your terminal and run it.
$ cargo clippy
Type this command into your terminal and run it.
Pulled directly from this repo's README.
5. Make
Medium- Git Needed to download the project code from GitHub.
- Make Usually pre-installed on Linux/macOS. On Windows, install separately (e.g. via MSYS2 or WSL).
cd examples/c
This project's files live in a subfolder, so move into it first.
make
Compiles the code based on the generated build configuration to produce an executable.
