A brief look into WorkQuest’s stack of technology
To run our services and correctly connect Cosmos SDK and Tendermint, we chose to use Golang as the coding language. It serves well for the implementation of WorkQuest’s functionality. Precisely, Golang fits best for mastering node software called validators.
Besides Golang, TypeScript is used for coding backend modules. We decided to use this language because it has a strict type of structure. It is convenient in the development process. Also, TypeScript perfectly complies with JavaScript and is supported by all modern browsers. One more important feature we took into consideration was the compatibility with NodeJS. TypeScript is used chiefly for the modules of Workers and Indexers.
As WorkQuest aims to be a cross-platform desktop application, we decided to use ElectronJS to implement wallet applications.
We chose to build out a blockchain-based on Cosmos SDK. It is a particular framework created for building blockchain apps focused on specific tasks. Cosmos SDK is secure and reliable enough to solve the most common tasks and problems for blockchains. Cosmos SDK fits well for organizing network communication between different network nodes via the use of the Tendermint Core library.
To make sure our networks always work fine and correctly, we’ve implemented Tendermint. It is a solution based on Byzantine Fault Tolerance, guaranteeing the correct work of the network as long as at least ⅔ of the network nodes operate correctly.
In a nutshell, Tendermint provides efficient relaying of blockchain changes across the network and ensures that each node on the web has the same transaction log and blockchain state. It is the crucial part of Work Net Blockchain.
Sometimes there is a need to withdraw the funds from a shared wallet. Specifically for such cases, we implemented the technology of Multisignature. It allows making sure that the funds will be withdrawn only if at least 80% of the participants agree. This technology is very similar to the one Ethereum Blockchain uses in its multi-sig smart contracts.
Multisignature is used in three types of transactions — CreateMultisig, CreateTransaction, and SignTransaction.
CreateMultisig creates a wallet with a multi-signature. CreateTransaction creates a transaction to output the specified number of specified coins to the specified address. The creator of the transaction signs it immediately, and the transaction gets its unique identifier. SignTransaction is a type of the blockchain wherein the parameters there is a unique identifier of the transaction.
We also understand that users will always want to know what is going on on the platform. They need to be aware of their transactions, blocks, commissions, rewards, etc. That’s why we implemented the Explorer unit. This module allows making sure that all the necessary information is available for the users at any given moment.
Besides the enumerated techs, we use the ones such as Wallet, Address Format (Bech32), Roles (Validator, Delegator, Use), etc. All these technologies are observed in details in our Whitepaper, which you can find on our Website:
#jobsonline #blockchain #crypto #jobsblockchain #jobsmarket