{"id":31619420,"url":"https://github.com/multiversx/mx-sdk-cpp","last_synced_at":"2025-10-06T14:06:18.670Z","repository":{"id":37446378,"uuid":"370320984","full_name":"multiversx/mx-sdk-cpp","owner":"multiversx","description":"MultiversX C++ Command Line Tools and SDK for interacting with the MultiversX blockchain (in general) and Smart Contracts (in particular).","archived":false,"fork":false,"pushed_at":"2023-02-15T14:21:29.000Z","size":5577,"stargazers_count":7,"open_issues_count":1,"forks_count":4,"subscribers_count":21,"default_branch":"main","last_synced_at":"2024-04-01T15:08:41.246Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/multiversx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-05-24T10:59:17.000Z","updated_at":"2023-04-24T12:08:16.000Z","dependencies_parsed_at":"2023-02-08T19:31:47.293Z","dependency_job_id":null,"html_url":"https://github.com/multiversx/mx-sdk-cpp","commit_stats":null,"previous_names":["elrondnetwork/elrond-sdk-erdcpp"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/multiversx/mx-sdk-cpp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/multiversx%2Fmx-sdk-cpp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/multiversx%2Fmx-sdk-cpp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/multiversx%2Fmx-sdk-cpp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/multiversx%2Fmx-sdk-cpp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/multiversx","download_url":"https://codeload.github.com/multiversx/mx-sdk-cpp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/multiversx%2Fmx-sdk-cpp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278621844,"owners_count":26017253,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-06T02:00:05.630Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-10-06T14:06:16.428Z","updated_at":"2025-10-06T14:06:18.663Z","avatar_url":"https://github.com/multiversx.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# mx-sdk-cpp\n\nMultiversX C++ Command Line Tools and SDK for interacting with the MultiversX blockchain (in general) and Smart Contracts (in\nparticular).\n\n## 1. Installation. How to use it\n```bash\n./install.sh\n```\n\nThis script will install all necessary dependencies, build solution and:\n- copy **headers** in `/usr/include/erdcpp` \n- copy **shared library** in `/usr/lib/libsrc.so`\n\n### 1.1 SDK\nTo integrate this sdk in your project, link `libsrc.so` and include this header in your project:\n```c++\n#include \"erdcpp/erdsdk.h\"\n```\n\n### CMake integration\n\nTo integrate this sdk in your `CMake` project:\n1. include `/usr/include/erdcpp`\n2. link `/usr/lib/libsrc.so`\n\nExample:\n```cmake\ncmake_minimum_required(VERSION 3.11)\nproject(main)\n\ninclude_directories(/usr/include/erdcpp) #-\u003e include header files\n\nadd_executable(main main.cpp)\ntarget_link_libraries(main PUBLIC /usr/lib/libsrc.so) #-\u003e link library\n```\n\n\n### 1.2 CLI\n\nTo see all available command lines:\n```bash\ncd cli\n./erdcpp -h\n```\n\n## 2. Examples\nA quick look into an ESDT transfer: \n\n```c++\n    // Read data from wallet\n    PemFileReader myWallet(\"wallet.pem\");\n    Address myAddress = myWallet.getAddress();\n    bytes mySeed = myWallet.getSeed();\n\n    // Get updated account from proxy\n    ProxyProvider proxy(\"https://gateway.multiversx.com\");\n    Account myAccount = proxy.getAccount(myAddress);\n\n    // Create a transaction factory, which helps you easily build signed/unsigned transactions\n    NetworkConfig networkConfig = proxy.getNetworkConfig();\n    TransactionFactory transactionFactory(networkConfig);\n\n    // Build ESDT transactions\n    TokenPayment mexTokens =\n            TokenPayment::fungibleFromAmount(\"MEX-455c57\", // Token ID\n                                             \"100\",        // Amount = 100 MEX\n                                             18);          // Num of token decimals\n    Transaction transaction = transactionFactory.createESDTTransfer(\n                    mexTokens,            // Token to transfer\n                    myAccount.getNonce(), // Nonce\n                    myAddress,            // Sender's address\n                    Address(\"erd1...\"),   // Receiver's address\n                    1000000000)           // Gas Price\n            -\u003ebuildSigned(mySeed);\n\n    // Send transaction and check its status\n    std::string txHash = proxy.send(transaction);\n    TransactionStatus txStatus = proxy.getTransactionStatus(txHash);\n    if (txStatus.isPending())\n    {\n        // ...\n    }\n```\n\nClick [here](examples/examples.md) to see a list with provided features and usage\n\n## 3. External libraries\nThis repository uses `google test` as submodule, as well as the following `external` sources:\n\n- **aes_128_ctr**: License: **The Unlicense**. From: https://github.com/kokke/tiny-AES-c\n- **bech32**: License: **MIT**. Author: Pieter Wuille\n- **bigint**: License: **MIT**. From: https://github.com/calccrypto/integer\n- **cliparser**: License: **MIT**. From: https://github.com/jarro2783/cxxopts\n- **http**: License: **MIT**. From: https://github.com/yhirose/cpp-httplib\n- **json**: License: **MIT**. From: https://github.com/nlohmann/json\n- **keccak**: License: **MIT**. From: https://github.com/mjosaarinen/tiny_sha3\n- **toml**: License: **MIT**. From: https://github.com/skystrife/cpptoml\n- **libsodium**: License: **MIT**. From: https://github.com/jedisct1/libsodium\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmultiversx%2Fmx-sdk-cpp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmultiversx%2Fmx-sdk-cpp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmultiversx%2Fmx-sdk-cpp/lists"}