Skip to content

BL0CK-X/theblockchainapi-php-wrapper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenAPIClient-php

About

Our vision is to make it super easy to interact with the decentralized web. We want you to be able to do this in any coding language and do it easily and quickly.

You're a key part of our vision. We love feature requests! <a href="#section/Feature-Requests">Make one!

How to Use the API

To use the API, you simply need to create an API key pair.

Doing so takes less than a minute. Simply go to <a target="_blank" href="https://dashboard.blockchainapi.com\">the dashboard, create an account, and generate a key pair. You can now use this pair to make API requests. You must create your first pair via the dashboard.

Feature Requests

Got a feature request? Submit it as an issue on <a target="_blank" href="https://github.com/BL0CK-X/the-blockchain-api/issues/new/choose\">our GitHub repo or email us.

Contact

Text / Call: +1 (415) 888 4745

Email us: [email protected]

Join our Discord

Follow us on Twitter

Star us on Github

Security

Common dogma is to never give out your seed phrase. We agree. It's a matter of security, and anyone who has your seed phrase can irreversibly empty your wallet.

When using an API endpoint that requires a seed phrase, we highly recommend that users use or create a wallet that they do not use as their primary wallet.

How you make this work depends on what you're doing. If you're minting an NFT for example, we recommend creating a new wallet and then transferring just enough SOL to that wallet to mint the NFT. This is possible on Solana because such transactions cost less than a penny. We will have more tutorials in the future that make it easier for you to be secure when using our API.

We have easy-to-use endpoints for <a href="#tag/Solana-Wallet/paths/1solana1wallet1secret_recovery_phrase/post">creating a new seed phrase and then <a href="#tag/Solana-Wallet/paths/1solana1wallet1public_key/post">deriving a public key to enable you to transfer to that new wallet.

Let's have a constructive dialog about this. Feel free to <a href="#section/Contact">contact us. I made a video discussing this matter <a target="_blank" href="https://youtu.be/m9unUb8Z9qU\">here.

Note: We have had a couple of individuals harrass and threaten us. These individuals did not try our API or speak to anyone who has used it. They simply saw that we require a seed phrase for certain endpoints and figured that the proper response was to attack us. (I explain why we do <a target="_blank" href="https://youtu.be/m9unUb8Z9qU\">here.) Such harrassment and threats are not only harmful, but they are also illegal, and we will report offenders. Do not harrass us. Rather, feel free to discuss your concerns with us and we will be more than happy to work with you to come up with a solution.

Pricing

Each user receives 50,000 free credits each month. Each endpoint costs a certain amount credits. Scroll below to any endpoint (i.e., function) to see how much each endpoint costs. (Or CMD+F Cost: 0 Credit, for example)

You can learn more about our pricing <a href="https://dashboard.blockchainapi.com/billing\" target="_blank">here.

We frequently do custom plans. If our pricing doesn't work for you, <a href="#section/Contact">contact us.

If you have questions, concerns, feedback, or ideas, <a href="#section/Contact">contact us.

SDKs / API Wrappers

We have examples using both our <a href="https://github.com/BL0CK-X/the-blockchain-api/tree/main/examples\" target="_blank">Python wrapper and our JavaScript wrapper here.

We have built a custom <a href="https://github.com/BL0CK-X/the-blockchain-api-python-wrapper\" target="_blank">Python wrapper.

pip install theblockchainapi

We also have published a <a href="https://github.com/BL0CK-X/theblockchainapi-javascript-wrapper\" target="_blank">JavaScript Wrapper.

npm install theblockchainapi

We also have auto-generated wrappers for the following languages:

If you would like a different language as well, submit an issue <a href="https://github.com/BL0CK-X/theblockchainapi-wrappers/issues/new\" target="_blank">here.

If you run into any bugs with the wrappers, submit an issue <a href="https://github.com/BL0CK-X/theblockchainapi-wrappers/issues/new\" target="_blank">here.

Installation & Usage

Requirements

PHP 7.3 and later. Should also work with PHP 8.0 but has not been tested.

Composer

To install the bindings via Composer, add the following to composer.json:

{
  "repositories": [
    {
      "type": "vcs",
      "url": "https://github.com/GIT_USER_ID/GIT_REPO_ID.git"
    }
  ],
  "require": {
    "GIT_USER_ID/GIT_REPO_ID": "*@dev"
  }
}

Then run composer install

Manual Installation

Download the files and include autoload.php:

<?php
require_once('/path/to/OpenAPIClient-php/vendor/autoload.php');

Getting Started

Please follow the installation procedure and then run the following:

<?php
require_once(__DIR__ . '/vendor/autoload.php');



// Configure API key authorization: APIKeyID
$config = OpenAPI\Client\Configuration::getDefaultConfiguration()->setApiKey('APIKeyID', 'YOUR_API_KEY');
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
// $config = OpenAPI\Client\Configuration::getDefaultConfiguration()->setApiKeyPrefix('APIKeyID', 'Bearer');

// Configure API key authorization: APISecretKey
$config = OpenAPI\Client\Configuration::getDefaultConfiguration()->setApiKey('APISecretKey', 'YOUR_API_KEY');
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
// $config = OpenAPI\Client\Configuration::getDefaultConfiguration()->setApiKeyPrefix('APISecretKey', 'Bearer');


$apiInstance = new OpenAPI\Client\Api\CCPaymentApi(
    // If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
    // This is optional, `GuzzleHttp\Client` will be used as default.
    new GuzzleHttp\Client(),
    $config
);
$project_id = project_WDQskRIfHQxj53N5mk5K; // string | The ID of the project. Created and returned when a project is created.
$payment_identifier = ["payment_97jA1szpVjrSI5EvOb5zxNQFq5CfrC"]; // string | You can supply either `payment_id` or `payment_validation_code`.  The `payment_id` is only visible by you and uniquely identifies a payment.  The `payment_validation_code` is shown exclusively to the customer and the owner of the project. It can be used to redeem a payment. You can verify a payment by pulling the payment with the `payment_validation_code`.

try {
    $result = $apiInstance->getCCPayment($project_id, $payment_identifier);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling CCPaymentApi->getCCPayment: ', $e->getMessage(), PHP_EOL;
}

API Endpoints

All URIs are relative to https://api.blockchainapi.com/v1

Class Method HTTP request Description
CCPaymentApi getCCPayment GET /checkout/v1/project/{project_id}/payment/{payment_identifier} Get a payment
CCPaymentApi listAllCCPayments GET /checkout/v1/payments List all payments
CCPaymentApi listCCProjectPayments GET /checkout/v1/project/{project_id}/payments List a project's payments
CCProjectApi createCCProject POST /checkout/v1/project Create a project
CCProjectApi deleteCCProject DELETE /checkout/v1/project/{project_id} Delete a project
CCProjectApi getCCProject GET /checkout/v1/project/{project_id} Get a project
CCProjectApi listCCProjects GET /checkout/v1/projects List projects
CCProjectApi updateCCProject PUT /checkout/v1/project/{project_id} Update a project
CCWebhookApi getCCWebhook POST /webhook/v1/project/{project_id}/webhook/{webhook_identifier} Get a webhook
CCWebhookApi listCCProjectWebhooks POST /webhook/v1/project/{project_id}/webhooks List project's webhooks
CCWebhookApi validateCCWebhook POST /webhook/v1/project/{project_id}/webhook/{webhook_identifier}/validate Validate a webhook
NameServiceApi getBlockchainIdentifierFromName POST /{blockchain}/{network}/name_service/name_to_blockchain_identifier Get the identifier
NameServiceApi getNameForBlockchainIdentifier POST /{blockchain}/{network}/name_service/blockchain_identifier_to_name Get the name
SolanaAccountApi solanaGetAccount GET /solana/account/{network}/{public_key} Get the details of an account on Solana
SolanaAccountApi solanaGetAccountIsCandyMachine GET /solana/account/{network}/{public_key}/is_candy_machine Get if account is candy machine
SolanaAccountApi solanaGetAccountIsNFT GET /solana/account/{network}/{public_key}/is_nft Get if account is NFT
SolanaCandyMachineApi solanaGetAllNFTsFromCandyMachine GET /solana/nft/candy_machine/{network}/{candy_machine_id}/nfts Get CM's NFTs
SolanaCandyMachineApi solanaGetCandyMachineMetadata POST /solana/nft/candy_machine/metadata Get a CM's metadata
SolanaCandyMachineApi solanaListAllCandyMachines GET /solana/nft/candy_machine/list List all CMs
SolanaCandyMachineApi solanaSearchCandyMachines POST /solana/nft/candy_machine/search Search CMs
SolanaNFTApi solanaCreateNFT POST /solana/nft Create an NFT on Solana
SolanaNFTApi solanaGetNFT GET /solana/nft/{network}/{mint_address} Get an NFT's metadata
SolanaNFTApi solanaGetNFTMintFee GET /solana/nft/mint/fee Get the NFT mint fee
SolanaNFTApi solanaGetNFTOwner GET /solana/nft/{network}/{mint_address}/owner Get owner of an NFT
SolanaNFTApi solanaGetNFTOwnerAdvanced GET /solana/nft/{network}/{mint_address}/owner_advanced Get owner of an NFT (advanced)
SolanaNFTApi solanaGetNFTsCandyMachineId POST /solana/nft/candy_machine_id Get the ID of the candy machine of an NFT
SolanaNFTApi solanaSearchNFTs POST /solana/nft/search Search NFTs on Solana
SolanaSPLTokenApi solanaGetSPLToken GET /solana/spl-token/{network}/{public_key} Get SPL token metadata
SolanaTransactionApi solanaGetTransaction GET /solana/transaction/{network}/{tx_signature} Get the details of a transaction made on Solana
SolanaWalletApi solanaDeriveAssociatedTokenAccountAddress GET /solana/wallet/{public_key}/associated_token_account/{mint_address} Derive an associated token account address
SolanaWalletApi solanaDerivePrivateKey POST /solana/wallet/private_key Derive private key
SolanaWalletApi solanaDerivePublicKey POST /solana/wallet/public_key Derive public key
SolanaWalletApi solanaGeneratePrivateKey POST /solana/wallet/generate/private_key Generate private key
SolanaWalletApi solanaGenerateSecretRecoveryPhrase POST /solana/wallet/generate/secret_recovery_phrase Generate secret phrase
SolanaWalletApi solanaGetAirdrop POST /solana/wallet/airdrop Get an airdrop on devnet
SolanaWalletApi solanaGetBalance POST /solana/wallet/balance Get wallet's balance in SOL or any SPL
SolanaWalletApi solanaGetNFTsBelongingToWallet GET /solana/wallet/{network}/{public_key}/nfts Get address's NFTs
SolanaWalletApi solanaGetTokensBelongingToWallet GET /solana/wallet/{network}/{public_key}/tokens Get address's tokens and respective balances
SolanaWalletApi solanaGetWalletTransactions GET /solana/wallet/{network}/{public_key}/transactions Get address's associated transaction signatures
SolanaWalletApi solanaTransfer POST /solana/wallet/transfer Transfer SOL, a token, or an NFT to another address
TokenApi getTokenMetadata GET /{blockchain}/{network}/token/{token_blockchain_identifier} Get a token's metadata
TokenApi listAllTokens GET /{blockchain}/{network}/all_tokens List all tokens
TransactionApi getTransaction GET /{blockchain}/transaction/{network}/{transaction_blockchain_identifier} Get the details of a transaction made on a blockchain
WalletApi derivePrivateKey POST /{blockchain}/wallet/private_key Derive private key
WalletApi deriveWalletIdentifier POST /{blockchain}/wallet/identifier Derive wallet identifier
WalletApi generatePrivateKey POST /{blockchain}/wallet/generate/private_key Generate private key
WalletApi generateSeedPhrase POST /{blockchain}/wallet/generate/secret_recovery_phrase Generate seed phrase
WalletApi getAirdrop POST /{blockchain}/wallet/airdrop Get an airdrop
WalletApi getBalance POST /{blockchain}/wallet/balance Get wallet's balance of X
WalletApi transfer POST /{blockchain}/wallet/transfer Transfer crypto, a token, or an NFT to another wallet

Models

Authorization

APIKeyID

  • Type: API key
  • API key parameter name: APIKeyID
  • Location: HTTP header

APISecretKey

  • Type: API key
  • API key parameter name: APISecretKey
  • Location: HTTP header

Tests

To run the tests, use:

composer install
vendor/bin/phpunit

Author

[email protected]

About this package

This PHP package is automatically generated by the OpenAPI Generator project:

  • API version: null
  • Build package: org.openapitools.codegen.languages.PhpClientCodegen

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published