Develop a binding (wrapper) for the Client-SDK in Golang
$1500-3000 USD
Cerrado
Publicado hace más de 3 años
$1500-3000 USD
Pagado a la entrega
TASKS
1. For the TON-SDK (and TON Client), develop a binding / wrapper to use SDK functions from a project in another programming language. This binding should provide an API for all SDK Library methods.
2. Write either unit tests or example code which illustrate the usage of the interfaces you’ve implemented.
TECHNOLOGY STACK
Golang
DESCRIPTION
// The developer is expected to gain a deeper understanding of the internals of the SDK and the technical concepts behind TON.
// The TON-SDK library is the basis for developers to create Dapps.
// You will need to delve into some instructions and explore an existing example of implementing such a binding (wrapper) in Rust.
// [login to view URL]
// [login to view URL] - link to an example of implementation of binding (wrapper) in Rust
// [login to view URL] - SDK documentation (but you don't really need to dive into it, there is a lot of specifics, it's easier to implement a task based on an example with Rust).
SUBMISSION FORMAT AND REQUIREMENTS
// Work should be submitted to the Company’s GitHub repository. The participant may use any GitHub account he/she wants to publish the repository
// To make the evaluation process faster, include a README file with instructions to install dependencies (if any) and compile/run tests/examples
// Deliverables with failing builds/tests/samples will be rejected
// Deliverables should use v1.0.0 Core SDK release
EVALUATION CRITERIA
Considering the following criteria set as necessary:
// API coverage completeness
// Test coverage completeness:
// // amount of methods covered
// // “negative” tests
// // async request tested
// // tests on method execution correctness when called from one/different client contexts
// Internal SDK errors are handled using error handling approaches. Error codes and messages are consistent with SDK errors.
// It is possible to solve the following routines using participants’ submission code:
// // keypair derivation from TON Surf mnemonic
// // contract deployment
// // message/transaction sending
// // fee estimation
// // graphql queries execution
// Asynchronous API (request with callback) binding implementation
// Available via the appropriate package manager (e. g. pip for python or npm for js)
Considering the following criteria set as unwanted:
// Not implemented SDK methods
// Binding mistakes causing SDK errors
// Memleaks
// Incomplete test coverage or tests inexistence
// No instructions for running tests/examples
// Bad code readability
// Core Implementation inconsistency
NOTES
Don’t implement core logic. You should use the Core SDK dynamic library (v1.0.0) to create your binding.
DEADLINE
30 days