Skip to content

BL0CK-X/theblockchainapi-javascript-wrapper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

theblockchainapi

theblockchainapi - JavaScript client for theblockchainapi

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. This SDK is automatically generated by the OpenAPI Generator project:

  • API version: null
  • Package version: 1.0.9407
  • Build package: org.openapitools.codegen.languages.JavascriptClientCodegen

Installation

npm

To publish the library as a npm, please follow the procedure in "Publishing npm packages".

Then install it via:

npm install theblockchainapi --save

Finally, you need to build the module:

npm run build
Local development

To use the library locally without publishing to a remote npm registry, first install the dependencies by changing into the directory containing package.json (and this README). Let's call this JAVASCRIPT_CLIENT_DIR. Then run:

npm install

Next, link it globally in npm with the following, also from JAVASCRIPT_CLIENT_DIR:

npm link

To use the link you just defined in your project, switch to the directory you want to use your theblockchainapi from, and run:

npm link /path/to/<JAVASCRIPT_CLIENT_DIR>

Finally, you need to build the module:

npm run build

git

If the library is hosted at a git repository, e.g.https://github.com/GIT_USER_ID/GIT_REPO_ID then install it via:

    npm install GIT_USER_ID/GIT_REPO_ID --save

For browser

The library also works in the browser environment via npm and browserify. After following the above steps with Node.js and installing browserify with npm install -g browserify, perform the following (assuming main.js is your entry file):

browserify main.js > bundle.js

Then include bundle.js in the HTML pages.

Webpack Configuration

Using Webpack you may encounter the following error: "Module not found: Error: Cannot resolve module", most certainly you should disable AMD loader. Add/merge the following section to your webpack config:

module: {
  rules: [
    {
      parser: {
        amd: false
      }
    }
  ]
}

Getting Started

Please follow the installation instruction and execute the following JS code:

var theblockchainapi = require('theblockchainapi');

var defaultClient = theblockchainapi.ApiClient.instance;
// Configure API key authorization: APIKeyID
var APIKeyID = defaultClient.authentications['APIKeyID'];
APIKeyID.apiKey = "YOUR API KEY"
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
//APIKeyID.apiKeyPrefix['APIKeyID'] = "Token"
// Configure API key authorization: APISecretKey
var APISecretKey = defaultClient.authentications['APISecretKey'];
APISecretKey.apiKey = "YOUR API KEY"
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
//APISecretKey.apiKeyPrefix['APISecretKey'] = "Token"

var api = new theblockchainapi.CCPaymentApi()
var projectId = project_WDQskRIfHQxj53N5mk5K; // {String} The ID of the project. Created and returned when a project is created.
var paymentIdentifier = ["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`.
api.getCCPayment(projectId, paymentIdentifier).then(function(data) {
  console.log('API called successfully. Returned data: ' + data);
}, function(error) {
  console.error(error);
});

Documentation for API Endpoints

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

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

Documentation for Models

Documentation for 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

About

JavaScript wrapper for the Blockchain API.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published