A collection of links to useful things I've used/built over time for Bitcoin development.
https://www.bitpost.app/tx/01c5a66cd482cca4a7df4652376be33bdb10bf89a40bbb043d79f145397b7f33
| OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT |
A collection of links to useful things I've used/built over time for Bitcoin development.
https://www.bitpost.app/tx/01c5a66cd482cca4a7df4652376be33bdb10bf89a40bbb043d79f145397b7f33
| #rendererContainer(#rendererContainer) |
| OP_1 44 OP_NUM2BIN OP_SWAP OP_CAT 01510905000000000000ffffffffbf643fc069fda04bccfeebfa8803c1d6dc1f28c63dcf6f3421f115a4c801ed0900000000c3000000 OP_CAT OP_HASH256 OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP O |
exp field, a fee field and a signing secret without any kind of user management whatsoever is probably already sufficient. If you have strong opinions to the contrary about thi| use anchor_lang::prelude::*; | |
| // This is your program's public key and it will update | |
| // automatically when you build the project. | |
| declare_id!("HAcYnZCEXGs31qKPXEJUEjPDBnxSLLL2CxSqp4zrpHze"); | |
| #[program] | |
| mod plus_one { | |
| use super::*; | |
| pub fn initialize(ctx: Context<Initialize>) -> Result<()> { |
| use anchor_lang::prelude::*; | |
| // This is your program's public key and it will update | |
| // automatically when you build the project. | |
| declare_id!("HL1HGm4o5ygkrMYcyS3WYLK3XXPVLyvp9bPksHQZUeWb"); | |
| #[program] | |
| mod hello_anchor { | |
| use super::*; | |
| pub fn initialize(ctx: Context<Initialize>, _hash: Vec<u8>) -> Result<()> { |
Create a valid8 folder in your path: mkdir ~/.local/share/valid8
Dump the metaplex program there: solana program dump -u m metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s ~/.local/share/valid8/metadata.so
Create bash script with sudo nano /usr/local/bin/metaplex-test-validator then paste in the following code and save:
(if the /user/local/bin directory doesn't exist, you can create it using sudo mkdir -p -m 775 /usr/local/bin)
#!/bin/bash| const program = anchor.workspace.AnchorVault as Program<AnchorVault>; | |
| const connection = anchor.getProvider().connection; | |
| const signer = Keypair.generate(); | |
| const vault = PublicKey.findProgramAddressSync([Buffer.from("vault"), signer.publicKey.toBuffer()], program.programId)[0]; | |
| const confirm = async (signature: string): Promise<string> => { | |
| const block = await connection.getLatestBlockhash(); |
| use anchor_lang::{prelude::*, Discriminator}; | |
| pub mod jupiter { | |
| use super::*; | |
| declare_id!("JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4"); | |
| #[derive(AnchorDeserialize, AnchorSerialize)] | |
| pub struct SharedAccountsRoute { | |
| pub id: u8, | |
| pub route_plan: Vec<RoutePlanStep>, | |
| pub in_amount: u64, |