solana_program/bpf_loader.rs
1//! The latest BPF loader native program.
2//!
3//! The BPF loader is responsible for loading, finalizing, and executing BPF
4//! programs. Not all networks may support the latest loader. You can use the
5//! command-line tools to check if this version of the loader is supported by
6//! requesting the account info for the public key below.
7//!
8//! The program format may change between loaders, and it is crucial to build
9//! your program against the proper entrypoint semantics. All programs being
10//! deployed to this BPF loader must build against the latest entrypoint version
11//! located in `entrypoint.rs`.
12//!
13//! Note: Programs built for older loaders must use a matching entrypoint
14//! version. An example is [`bpf_loader_deprecated`] which requires
15//! [`entrypoint_deprecated`].
16//!
17//! The `solana program deploy` CLI command uses the
18//! [upgradeable BPF loader][ubpfl].
19//!
20//! [`bpf_loader_deprecated`]: crate::bpf_loader_deprecated
21//! [`entrypoint_deprecated`]: mod@crate::entrypoint_deprecated
22//! [ubpfl]: crate::bpf_loader_upgradeable
23
24crate::declare_id!("BPFLoader2111111111111111111111111111111111");