{"id":13425554,"url":"https://github.com/vertices-network/c-vertices-sdk","last_synced_at":"2025-03-15T20:30:44.250Z","repository":{"id":49216448,"uuid":"348999147","full_name":"vertices-network/c-vertices-sdk","owner":"vertices-network","description":"Vertices SDK","archived":false,"fork":false,"pushed_at":"2021-11-18T14:12:08.000Z","size":578,"stargazers_count":9,"open_issues_count":1,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-05-16T00:19:23.559Z","etag":null,"topics":["algorand","blockchain","c","iot","library","vertices-network","wallet"],"latest_commit_sha":null,"homepage":"https://docs.vertices.network","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vertices-network.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-03-18T08:40:12.000Z","updated_at":"2023-01-26T09:20:11.000Z","dependencies_parsed_at":"2022-08-28T07:01:09.451Z","dependency_job_id":null,"html_url":"https://github.com/vertices-network/c-vertices-sdk","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vertices-network%2Fc-vertices-sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vertices-network%2Fc-vertices-sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vertices-network%2Fc-vertices-sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vertices-network%2Fc-vertices-sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vertices-network","download_url":"https://codeload.github.com/vertices-network/c-vertices-sdk/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243790921,"owners_count":20348377,"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","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":["algorand","blockchain","c","iot","library","vertices-network","wallet"],"created_at":"2024-07-31T00:01:14.724Z","updated_at":"2025-03-15T20:30:44.243Z","avatar_url":"https://github.com/vertices-network.png","language":"C","funding_links":[],"categories":["Development \u0026 Tools","Development Tools"],"sub_categories":["Language SDKs \u0026 Tools","Languages"],"readme":"# 💎 Vertices SDK\n\n## 📑 Specifications\n\nThe Vertices SDK provides developers with an easy way for devices to interact with Blockchains.\n\nWe are doing our best to achieve those goals:\n\n- C library, can be included into C++ projects.\n- Can be easily imported into any project\n- Examples provided:\n  - [Unix-based OSes](examples/unix)\n  - [ESP-IDF](examples/esp32)\n  - Zephyr (soon)\n- Connect to any Algorand API (local or remote provider)\n- Build with CMake and Make\n- Continuous Integration to maintain code quality:\n  - Build static library for several targets\n  - Unit-Testing\n\nAt Vertices Network, we want to free your mind from the hassle of a safe design. Here are other projects we are working on:\n\n- Secure Element support for future and more secure designs\n- Encrypted Flash for current designs\n\n\u003e ⚠️  IMPORTANT\n\u003e - The current version of the SDK is still *very early*.\n\u003e - It is not advised to use it in a production environment.\n\u003e - Use it at your own risk.\n\n## 🧭 Repository structure\n\n```shell\n.\n├── CMakeLists.txt      # root CMakeLists: use it if you want to try the examples\n├── examples            # examples\n│   ├── unix            # Unix example to run the wallet on your machine or Raspberry Pi...\n│   └── ...             # more to come\n├── external            # external libraries\n│   ├── mpack           # we've got mpack for example\n│   └── cJson           # cJSON to parse JSON payloads\n├── inc                 # public include directory: you'll need those files to use the library\n│   ├── vertices.h      # for example, `vertices.h`\n│   └── ...\n├── lib                 # \n│   ├── inc             # \"private\" header files, used within the library\n│   ├── algorand        # implementation of Vertices with Algorand. The Algorand provider is the first implemented.\n│   ├── http            # HTTP wrappers functions, GET, POST... several implementations available for several stacks (libcurl, ESP-IDF...)\n│   ├── CMakeLists.txt  # CMake of the Vertices SDK, exports a package to be imported in your project, see examples' CMakeLists\n│   └── ...             # source files\n├── mdk                 # the SDK is running on several architecture, those files provide some compiler abstraction\n│   └── compilers.h\n└── utils               # tools to make things easier, clearer, smarter :) \n    └── utils.cmake\n```\n\n## 🧰 Installation\n\nThis repository is intended to be used as an external component to your project such as a submodule.\n\n```shell\n# clone into a directory\ngit clone \u003curl\u003e [path]\n# clone into a directory including its submodules\ngit clone --recurse-submodules \u003curl\u003e [path]\n# clone as submodule into an optionally specified location\ngit submodule add \u003curl\u003e [path]\n```\n\nCheckout [the documentation to get started](https://docs.vertices.network/vertices-sdk/quickstart).\n\n🔜 We might also provide a Docker container once we have set up CI/CD.\n\n\n### Configuration\n\nA config file provides an easy way to configure the SDK: [`include/vertices_config.h`](include/vertices_config.h). The file is fully documented.\n\n### Compilation\n\nCMake is currently used to build the library and examples (GNU Make is on the roadmap).\n\n#### CMake\n\nIn order to build the source using CMake in a separate directory (recommended), just enter at the command line:\n\n```shell\nmkdir build \u0026\u0026 cd build\ncmake ..\n\n# build static library: lib/libvertices.a\nmake vertices\n\n# build Unix example\nmake unix_example\n```\n\n#### Make\n\n👎 Soon.\n\n## 🚀 Getting started\n\n👉 More to come about how to import the package into your build system.\n\n\u003e 💡 Vertices is providing [examples](examples/) with various major SDKs, such as the ESP-IDF for Espressif microcontrollers. You can probably copy-paste our source code into your project 🙂.\n\n### Examples\n\nFull documentation is available at [docs.vertices.network](https://docs.vertices.network/).\n\n## 📐 Tests\n\nMake sure you have `cpputest` installed:\n\n- Linux - `sudo apt-get install cpputest lcov`\n- OSX - `brew install cpputest lcov`\n\nFrom [`/tests`](/tests) you will be able to launch the unique command to run all the tests:\n\n```shell\nmake\n```\n\nCheckout the [Readme](/tests/README.md) for more information.\n\n## 🙌 Contributing\n\n🤗 We gratefully accept bug reports and contributions from the community.\n\n1.  Check for open issues or [start a discussion](https://discord.com/invite/2bTuWg5gGE) around a feature idea or a bug.\n2.  Fork the repository on GitHub to start making your changes. As a general rule, you should use the \"development\" branch as a basis.\n3.  Write a test which shows that the bug was fixed or that the feature works as expected.\n4.  Send a pull request and bug us until it gets merged and published. Contributions may need some modifications, so work with us to get your change accepted!\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvertices-network%2Fc-vertices-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvertices-network%2Fc-vertices-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvertices-network%2Fc-vertices-sdk/lists"}