Cronos Play C++ SDK

Cronos Play C++ API Reference

API Reference can be found:

Cronos Play C++ API Reference

Pre-requisites

  • python 3.8 or newer

  • rust 1.61 or newer

  • C++ 14 or newer

  • Optional:

    • GNU make

    • GNU make for mac and linux, ninja for windows

    • Visual Studio 2019 or newer for windows

Pre-built Download

Please download the archive file based on your OS in the release page, where:

  • Visual Studio 2019 MSVC, x86_64, toolset 14.29 or newer: play_cpp_sdk_Windows_x86_64.zip

  • macOS 10.15 or newer: play_cpp_sdk_Darwin_x86_64.tar.gz

  • Ubuntu 20.04 or newer: play_cpp_sdk_libstdc++_Linux_x86_64.tar.gz or play_cpp_sdk_libc++_Linux_x86_64.tar.gz

  • Android: play_cpp_sdk_$(TARGET)-$(NDK_VERSION).tar.gz

  • IOS: play_cpp_sdk_aarch64-apple-ios.tar.gz

Setup a demo project

Windows

Visual Studio Project

Start with a C++ project with .sln and .vcxproj files:

  • Clone the current repository

  • Unzip the archive file into demo folder, and replace the original sdk folder

  • Open demo.sln which includes two projects: demo (dynamic build) and demostatic (static build). If you use Visual Studio 2022, retarget project, and upgrade PlatformToolset to v143.

  • Select Release profile.

  • Right click demo or demostatic project, click Build or Rebuild to build the project

CMake Project

Build modern, cross-platform C++ apps that don't depend on .sln or .vcxproj files:

  • Open Visual Studio, then open a local folder in welcome window (or click File > Open > Folder... in the menu), locate the demo folder and open it

  • Select configuration x64-Release in the tool bar

  • Click Build > Build All or Rebuild All to build the project

Mac

  • Clone the current repository

  • Unzip the archive file into demo folder, and replace the original sdk folder

  • Under demo folder and build the demo project

Linux

  • Clone the current repository

  • Unzip the archive file into demo folder, and replace the original sdk folder

  • Under demo folder and build the demo project with g++, clang++ or default compiler

Setup a c++ 14 (or newer) project

  • Unzip the archive file into the root folder of your project, you should see a folder named sdk and its subdirectories/files.

  • Include the following headers and use the namespaces in your source codes based on your need

  • Link the play_cpp_sdk static or dynamic library, cxxbridge1 static library, and sources (*.cc) into your build system (Visual Studio solution, CMake or Makefile). For more details, check out Cronos Play Docs.

Build libraries and bindings from scratch

If the Pre-built release does not support your platform, you can build the binaries and bindings on your own.

Windows

  1. Run windows_build.bat in x64 Native Tools Command Prompt for VS 2019. It will clone necessary submodules, build play-cpp-sdk crate, finally setup and build the demo project.

  2. Clean ~/.cargo/git/checkouts if cxx fails to build, then run windows_build.bat again.

  3. Run windows_install.bat, libraries and bindings will be copied into a new created folder: install

Notes about Visual Studio 2022

  • Open demo.sln. If you use Visual Studio 2022, retarget project, and upgrade PlatformToolset to v143 before running windows_build.bat

Mac

  1. Run make

  2. Run make install, libraries and bindings will be copied into a new created folder: install

Linux

  1. Run make

  2. Run make install, libraries and bindings will be copied into a new created folder: install

Android

  1. Install Android NDK (e.g. 21.4.7075529) via Android Studio

  2. Run make for one of the following Android targets on macOS or Linux

  3. Run make install, libraries and bindings will be copied into a new created folder: install

IOS

  1. Run make aarch64-apple-ios

  2. Run make install, libraries and bindings will be copied into a new created folder: install

Examples

All Examples could be found here

function new_wallet - Generates the HD wallet with a BIP39 backup phrase (English words) and password

function restore_wallet - Recovers/imports HD wallet from a BIP39 backup phrase (English words) and password

function new_privatekey- Generates a random private key

function new_privatekey_from_bytes - Constructs private key from hex bytes

function new_privatekey_from_hex - Constructs private key from hex string

function balance_of - Returns the decimal amount of tokens owned by account_address.

Example

function name -Returns the name of the token.

Example

function symbol - Returns the symbol of the token.

Example

function decimals- Returns the number of decimals the token uses.

Example

function balance_of - Returns the number of tokens in owner's account_address.

function owner_of - Returns the owner of the token_id token.

function name - Get the descriptive name for a collection of NFTs in this contract.

function symbol - Get the abbreviated name for NFTs in this contract.

function token_uri- Get the distinct Uniform Resource Identifier (URI) for a given asset.

function transfer_from - Transfers token_id token from from_address to to_address.

function safe_transfer_from - Safely transfers token_id token from from_address to to_address.

function safe_transfer_from_with_data - Safely transfers token_id token from from_address to to_address with additional_data.

function balance_of - Returns the amount of tokens of token_id owned by account_address.

function balance_of_batch - Batched version of balance_of, get the balance of multiple account/token pairs

function uri - Get the distinct Uniform Resource Identifier (URI) for a given asset.

function safe_transfer_from - Transfers amount tokens of token_id from from_address to to_address with additional_data.

function safe_batch_transfer_from - Batched version of safeTransferFrom.

Last updated

Was this helpful?