From ca1165a580aca042846857550f79fc4b1f03243a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Kotol?= Date: Wed, 9 Aug 2023 14:48:31 +0200 Subject: [PATCH] Update README.md - add more links and docs (#882) * Update README.md - add more links and docs * Update README.md - add more links and docs --- README.md | 175 ++++++++++++++++++++++--- src/e2e/rpc/rpc.e2e.utils.ts | 2 +- src/e2e/rpc/tatum.rpc.optimism.spec.ts | 2 +- 3 files changed, 156 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index 38dd9ecde3..083fa9f32a 100644 --- a/README.md +++ b/README.md @@ -29,40 +29,145 @@ SDK ## 🚀 Tatum SDK A powerful, feature-rich TypeScript/JavaScript library that streamlines the development of blockchain applications. -🔍 Designed For Developers -If you're looking to integrate blockchain functionalities into your projects, Tatum SDK is for you. We simplify the integration process by offering: +🔍 **Designed For Developers** +If you're looking to integrate blockchain functionalities into your projects, [Tatum SDK](https://docs.tatum.io/sdk/get-started-with-tatum-sdk) is for you. -A user-friendly interface 🤝 -Consistent interaction with a broad range of blockchains, including Ethereum 🔷, Polygon 🟣, Bitcoin ₿, and more. +We simplify the integration process by offering: + - A user-friendly interface 🤝 + - Consistent interaction with a broad range of blockchains, including Ethereum 🔷, Polygon 🟣, Bitcoin ₿, and many more. + + +A powerful, feature-rich TypeScript/JavaScript library that streamlines the development of blockchain applications. + +🔍 **Designed For Developers** +If you're looking to integrate blockchain functionalities into your projects, [Tatum SDK](https://docs.tatum.io/sdk/get-started-with-tatum-sdk) is for you.We simplify the integration process by offering: + +- A user-friendly interface 🤝 +- Consistent interaction with a broad range of blockchains, including Ethereum 🔷, Polygon 🟣, Bitcoin ₿, and many more. + +For more details, visit our [documentation](https://docs.tatum.io) and [examples](https://github.com/tatumio/tatum-js#getting-started). -With Tatum SDK, you can: + +With Tatum SDK, you can: ### 🔌 Perform Native RPC Calls Interact seamlessly with various blockchains through native RPC calls. Say goodbye to the hassle of juggling separate RPC clients for each blockchain. +| Documentation | +|----------------------------------------------------------------------------------------------------------| +| **EVM Blockchains** | +| [Ethereum RPC documentation](https://docs.tatum.io/docs/rpc/evm-blockchains/ethereum-rpc-documentation) | +| [Polygon RPC documentation](https://docs.tatum.io/docs/rpc/evm-blockchains/polygon-rpc-documentation) | +| [Flare RPC documentation](https://docs.tatum.io/docs/rpc/evm-blockchains/flare-rpc-documentation) | +| [Haqq RPC documentation](https://docs.tatum.io/docs/rpc/evm-blockchains/haqq-rpc-documentation) | +| [Optimism RPC documentation](https://docs.tatum.io/docs/rpc/evm-blockchains/optimism-rpc-documentation) | +| **UTXO Blockchains** | +| [Bitcoin RPC documentation](https://docs.tatum.io/docs/rpc/utxo-blockchains/bitcoin-rpc-documentation) | +| [Litecoin RPC documentation](https://docs.tatum.io/docs/rpc/utxo-blockchains/litecoin-rpc-documentation) | +| [Dogecoin RPC documentation](https://docs.tatum.io/docs/rpc/utxo-blockchains/dogecoin-rpc-documentation) | +| **Solana Blockchains** | +| [Solana RPC documentation](https://docs.tatum.io/docs/rpc/solana-blockchains/solana-rpc-documentation) | +| **XPR Blockchains** | +| [XPR RPC documentation](https://docs.tatum.io/docs/rpc/xpr-blockchains/xpr-rpc-documentation) | +| **Tron Blockchains** | +| [Tron RPC documentation](https://docs.tatum.io/docs/rpc/tron-blockchains/tron-rpc-documentation) | + ### 🔔 Create Notifications Effortlessly monitor wallet activities. Set up real-time notifications for events like: -- Incoming and outgoing transactions -- Balance updates -- Contract interactions +| Documentation | +| ----- | +| [Start monitoring of the address](https://docs.tatum.io/docs/notifications/notification-workflow/start-monitoring-of-the-address) | +| [Stop monitoring of the address](https://docs.tatum.io/docs/notifications/notification-workflow/stop-monitoring-of-the-address) | +| [Get all sent notifications](https://docs.tatum.io/docs/notifications/notification-workflow/get-all-sent-notifications) | +| [Get all existing monitoring subscriptions](https://docs.tatum.io/docs/notifications/notification-workflow/get-all-existing-monitoring-subscriptions) | ### 👛 Access Wallet Information -Through a single interface, obtain crucial wallet details such as: +Through a single interface, obtain crucial wallet details such as balances, transaction history, and other pertinent information. -- Balances -- Transaction history -- Other pertinent information +| Documentation | +| ----- | +| [Get all assets the wallet holds](https://docs.tatum.io/docs/wallet-address-operations/get-all-assets-the-wallet-holds) | +| [Get all transactions on the wallet](https://docs.tatum.io/docs/wallet-address-operations/get-all-transactions-on-the-wallet) | + +### 🖼️ NFT Actions + +Dive into a comprehensive suite of actions related to non-fungible tokens (NFTs). + +| Documentation | +| ----- | +| [Get all NFTs the wallet holds](https://docs.tatum.io/docs/nfts/get-all-nfts-the-wallet-holds) | +| [Get all NFTs in the NFT collection](https://docs.tatum.io/docs/nfts/get-all-nfts-in-the-nft-collection) | +| [Trace the history of a specific NFT](https://docs.tatum.io/docs/nfts/trace-the-history-of-a-specific-nft) | +| [Show the NFT history of a wallet](https://docs.tatum.io/docs/nfts/show-the-nft-history-of-a-wallet) | +| [Create NFT Collection](https://docs.tatum.io/docs/nfts/create-nft-collection) | +| [Create MultiToken NFT Collection](https://docs.tatum.io/docs/nfts/create-multitoken-nft-collection) | +| [Retrieve the owner of the NFT](https://docs.tatum.io/docs/nfts/retrieve-the-owner-of-the-nft) | +| [Check if the wallet owns a specific NFT](https://docs.tatum.io/docs/nfts/check-if-the-wallet-owns-a-specific-nft) | +| [Get the metadata of a specific NFT](https://docs.tatum.io/docs/nfts/get-the-metadata-of-a-specific-nft) | + +### 🪙 Fungible Tokens + +Explore the world of fungible tokens, manage their properties, and track your assets seamlessly. + +| Documentation | +| ----- | +| [Get all fungible tokens the wallet holds](https://docs.tatum.io/docs/fungible-tokens/get-all-fungible-tokens-the-wallet-holds) | +| [Show fungible token history of a wallet](https://docs.tatum.io/docs/fungible-tokens/show-fungible-token-history-of-a-wallet) | +| [Get metadata of a fungible token](https://docs.tatum.io/docs/fungible-tokens/get-metadata-of-a-fungible-token) | +| [Create a fungible token](https://docs.tatum.io/docs/fungible-tokens/create-a-fungible-token) | + +### ⛽ Fee Estimation + +Stay updated with real-time fee insights and ensure smooth transactions without overpaying. + +| Documentation | +| ----- | +| [Fetch real-time gas fee data](https://docs.tatum.io/docs/getCurrentFee) | + +### 💻 Wallet Provider + +Integrate, transact, and manage assets using a secure and user-friendly wallet provider interface. + +| Documentation | +| ----- | +| [Connect a wallet](https://docs.tatum.io/docs/wallet-provider/metamask/connect-a-wallet) | +| [Transfer native assets](https://docs.tatum.io/docs/wallet-provider/metamask/transfer-native-assets) | +| [Transfer your NFT](https://docs.tatum.io/docs/wallet-provider/metamask/transfer-your-nft) | +| [Create your NFT Collection](https://docs.tatum.io/docs/wallet-provider/metamask/create-your-nft-collection) | +| [Create your Fungible Token](https://docs.tatum.io/docs/wallet-provider/metamask/create-your-fungible-token) | +| [Create your NFT (ERC-1155 MultiToken) Collection](https://docs.tatum.io/docs/wallet-provider/metamask/create-your-nft-erc-1155-multitoken-collection) | +| [Transfer fungible tokens like USDT](https://docs.tatum.io/docs/wallet-provider/metamask/transfer-fungible-tokens-like-usdt) | +| [Approve the transfer of a fungible token like USDT](https://docs.tatum.io/docs/wallet-provider/metamask/approve-the-transfer-of-a-fungible-token-like-usdt) | +| [Build your own custom transaction](https://docs.tatum.io/docs/wallet-provider/metamask/build-your-own-custom-transaction) | + +### 💲 Exchange Rates + +Access the latest crypto exchange rates and supported currency information to stay ahead in the market. + +| Documentation | +| ----- | +| [Get current exchange rate of the crypto asset](https://docs.tatum.io/docs/exchange-rates/get-current-exchange-rate-of-the-crypto-asset) | +| [Get current rates for multiple crypto assets at once](https://docs.tatum.io/docs/exchange-rates/get-current-rates-for-multiple-crypto-assets-at-once) | +| [Supported Crypto Currencies](https://docs.tatum.io/docs/exchange-rates/supported-crypto-currencies) | +| [Supported Fiats](https://docs.tatum.io/docs/exchange-rates/supported-fiats) | -### 🌱 Always Evolving -Our library is on a continuous journey of growth. We regularly add new features and extend support for more blockchains. It's the go-to choice for developers aiming to craft robust, scalable, and efficient blockchain apps without the overwhelming intricacies of diverse blockchain protocols. ### 📘 Getting Started with TatumSDK -This guide will lead you step by step, from basic setup and installation to harnessing the immense capabilities of our library. + +This guide will lead you step by step, from basic setup and installation to harnessing the immense capabilities of our library. For a detailed walkthrough, check out the [Getting Started page](https://docs.tatum.io/sdk/get-started-with-tatum-sdk). + +### 📊 TatumSDK Dashboard + +Experience powerful insights into your application's usage with the [Tatum Dashboard](https://dashboard.tatum.io/). It provides real-time analytics, user engagement metrics, and an intuitive interface, seamlessly integrating with TatumSDK for optimal app monitoring. + + +### 🌱 Always Evolving +Our library is on a continuous journey of growth. We regularly add new features and extend support for more blockchains. It's the go-to choice for developers aiming to craft robust, scalable, and efficient blockchain apps without the overwhelming intricacies of diverse blockchain protocols. ## Prerequisites @@ -127,6 +232,7 @@ console.log(`Balance: ${data}`) // Destroy Tatum SDK - needed for stopping background jobs tatum.destroy() ``` +For more details, check out the [RPC documentation](https://docs.tatum.io/docs/rpc). ### Subscribing to Notifications @@ -150,6 +256,8 @@ console.log(response) tatum.destroy() ``` +For more details, check out the [Notifications documentation](https://docs.tatum.io/docs/notifications). + ### Get NFT balance of a wallet Using TatumSDK, obtain the NFT balance of an address by calling the getNFTBalance method within the NFT submodule and passing the target address as an argument. This streamlined process efficiently retrieves the total number of NFTs owned by the specified address. To achieve this, use the following code: @@ -169,6 +277,8 @@ console.log(balances) tatum.destroy() ``` +For more details, check out the [NFTs documentation](https://docs.tatum.io/docs/nfts). + ### Connect to MetaMask and send transaction Using TatumSDK, it's possible to connect your browser application to MetaMask and perform transactions using it. To achieve this, use the following code: @@ -190,6 +300,8 @@ console.log(txId) tatum.destroy() ``` +For more details, check out the [Wallet Provider documentation](https://docs.tatum.io/docs/wallet-provider). + ### Get exchange rates Using TatumSDK, obtain current fiat/crypto exchange rates To achieve this, use the following code: @@ -207,14 +319,11 @@ console.log(res.data) tatum.destroy() ``` -### Get current fees +For more details, check out the [Exchange Rates documentation](https://docs.tatum.io/docs/exchange-rates). -Using TatumSDK, you can obtain recommended fee/gas price for a blockchain. Supported blockchains are: +### Get current fees -- `Bitcoin` -- `Litecoin` -- `Dogecoin` -- `Ethereum` +Using TatumSDK, you can obtain recommended fee/gas price for a blockchain. ```ts import { TatumSDK, Network, Ethereum } from '@tatumio/tatum' @@ -235,6 +344,8 @@ console.log(result.data) tatum.destroy() ``` +For more details, check out the [Fee Estimation documentation](https://docs.tatum.io/docs/fee-estimation). + ### Get token balance Using TatumSDK, obtain all fungible token balances of an address by calling the getBalance method within the `token` submodule and passing the target address as an argument. This streamlined process efficiently retrieves all balances for fungible tokens that specified address holds. To achieve this, use the following code: @@ -254,6 +365,28 @@ console.log(balances) tatum.destroy() ``` +For more details, check out the [Fungible Tokens documentation](https://docs.tatum.io/docs/fungible-tokens). + +### Get all transactions on the wallet +Using TatumSDK, you can obtain transaction history of the wallet. + +```ts +import { TatumSDK, Network, Ethereum } from '@tatumio/tatum' + +const tatum = await TatumSDK.init({ network: Network.ETHEREUM_SEPOLIA }) + +const { data: txs } = await tatum.address.getTransactions({ + address: '0x514d547c8ac8ccbec29b5144810454bd7d3625ca', +}); + +console.log(txs); + +// Destroy Tatum SDK - needed for stopping background jobs +tatum.destroy() +``` + +For more details, check out the [Wallet address operations documentation](https://docs.tatum.io/docs/wallet-address-operations). + ## Documentation - [Documentation and Guides](https://docs.tatum.io) to get started with Tatum SDK diff --git a/src/e2e/rpc/rpc.e2e.utils.ts b/src/e2e/rpc/rpc.e2e.utils.ts index 2fd670a13f..b98c28a468 100644 --- a/src/e2e/rpc/rpc.e2e.utils.ts +++ b/src/e2e/rpc/rpc.e2e.utils.ts @@ -7,7 +7,7 @@ export const RpcE2eUtils = { retryDelay: 2000, verbose: true, apiKey: { - v2: 't-647835e1930be3001cb53f81-647835e2930be3001cb53f87' + v2: process.env.V2_API_KEY } }), } diff --git a/src/e2e/rpc/tatum.rpc.optimism.spec.ts b/src/e2e/rpc/tatum.rpc.optimism.spec.ts index d620af295c..79ab329b7f 100644 --- a/src/e2e/rpc/tatum.rpc.optimism.spec.ts +++ b/src/e2e/rpc/tatum.rpc.optimism.spec.ts @@ -1,7 +1,7 @@ import { Network } from '../../service' import { EvmE2eUtils } from './evm.e2e.utils' -describe('Optimism', () => { +describe.skip('Optimism', () => { describe('mainnet', () => { EvmE2eUtils.e2e({ network: Network.OPTIMISM, chainId: 10 }) })