Developers
  • SWT PROTOCOL
    • Introduction
    • Accounts
    • Transactions
    • Fees
    • Smart Contracts
  • GETTING STARTED
    • Network Node
      • Introduction
      • STEP 1:RENTING A LINUX VPS
      • STEP 2:INSTALLATION OF PUTTY
      • STEP 3:INSTALLATION OF FILEZILLA
      • STEP 4:VPS CONNECTION AND LINUX CONFIGURATION WITH PUTTY (SSH)
      • STEP 5:HOW TO SECURE YOUR VPS
      • STEP 6:USING TMUX THROUGH PUTTY
      • STEP 7:UPLOAD OF THE SWT SOFTWARE WITH FILEZILLA
      • STEP 8:EXTRACT THE SWT SOFTWARE FOLDER
      • STEP 9:RUNNING THE SWT NODE THROUGH TMUX
      • STEP 10:RUNNING THE MONITORING TOOLS
  • API REFERENCE
    • Apache Thrift API
      • Transactions
      • Blocks
      • Smart contract
      • Tokens
      • Wallets
      • Sync info
      • Data structures
    • REST API
      • GetBlocks()
      • GetNodeInfo()
      • GetBalance()
      • GetWalletInfo()
      • GetTokenBalance()
      • GetTransactionsByWallet()
      • GetTransactionInfo()
      • GetEstimatedFee()
      • GetContractByAddress()
      • GetContractFromTransaction()
      • GetContractMethods()
      • ContractValidation()
      • ContractCall()
      • TransactionPack()
      • TransactionExec()
  • SMART CONTRACTS
    • Creating "Hello-world" Smart Contract
    • Smart Contract Methods
    • Smart Contract Standarts
      • Token Smart Contract
      • Escrow Smart Contract
      • Stable coin Token
  • HOW TO REST API
    • Introduction
    • Retrieve a balance from the blockchain
    • Request a specific transaction from the blockchain
    • Sending Transactions to the SWT Blockchain
    • Validating and deploying a Smart Contract with REST API
Powered by GitBook
On this page
  • Introduction
  • Platform Features
  • Technologies
  • Network Node Types
  1. SWT PROTOCOL

Introduction

Introduction

Smart Wallet Token (SWT) is a blockchain technology platform using decentralized network nodes and smart contracts, for the development and execution of decentralized applications.

SWT blockchain technology is very special in that it provides high speed transactions, decentralization, scalability and very low fees without the use of complex sharding.

These characteristics make it easier for you, as a programmer, to develop blockchain connected applications that transform traditional business models by eliminating problems with security, transparency and trust.

Platform Features

  • High network capacity - more than 75 000 transactions per second (it depends on the network hardware and architecture of transactions and requests to the network);

  • Minimal time to process a transaction; average is around 0.5 seconds;

  • Low fees ranging from 0.008 SWT;

  • Smart Contracts with advanced features and tools, including events.

  • Does not use sharding to achieve high TPS

Technologies

Predominantly, Smart Wallet Token (SWT) uses multi-threading and safe-thread functions to handle tasks requiring many resources.

Programming languages:

  • C++ - for platform core development, using the Boost.ASIO libraries for asynchronous I/O

  • Java - For the development of smart contracts

Network module:

  • P2P network

  • IPv4 <-> IPv6 translation

Storage module:

  • Distributed block storage

  • NoSQL Solution

  • Berkeley DB core optimized for high load tasks and fast read/write operations.

Solver module (decision-making module):

  • PoA (Proof-of-Agreement); a patented consensus algorithm with DPoS and BFT features

  • Management of synchronization process

  • Management of the decision-making process

API module:

  • Thrift is used to standardize the interactions between the Smart Wallet Token (SWT) platform and third-party development languages

  • Allows for the configuration of ports for the above interactions

Smart contracts module:

  • Java - standard Java language for smart contract development

  • JVM - standard Java Virtual Machine

Network Node Types

A network node is an interactive multi-tasking server application that communicates with other network nodes via UDP packets.

All nodes form a "connected graph", based on Distributed Ledger Technology (DLT) principles. At the network level, a node’s task is to provide network consistency and exchange messages with other nodes.

A node is an application installed onto a Windows or Linux operating system that processes and stores transactions, confirms smart contract conditions, processes calls from third-party systems and provides data upon request.

All network nodes have the same defined functionality.

There are two types of nodes in the SWT blockchain network:

  1. Writing Node; the node that writes the Block of Transactions (BoT), and is randomly chosen by other Trusted Nodes of a round for a block if; it participates in consensus, passes it, and is chosen when a decision is made about the transaction pool and the formed BoT. The Writing Node can write a previously formed BoT to the storage and distribute it to other nodes for addition to their storage. It also transmits to the network a list of the Trusted Nodes of the next round (1st stage of consensus). The BoT, and the list of Trusted Nodes for the next round, must be signed by Trusted Nodes of the current round and this decision can be validated on any network node.

  2. Trusted Node; a node that is chosen by the results of the voting between Trusted Nodes of the previous round to validate the current pool of processed and validated transactions to form a new BoT, and to select the nodes to be included in the list of Trusted Nodes of the next round. Any BoT or round table (a summary of the transactions to be included in the BoT) sent to the network for validation MUST be signed by the Trusted Nodes. After the BoT is formed, it should be validated by ALL Trusted Nodes and sent to the Writing Node for adding to the storage. For synchronization of a transaction pool that’s being validated by Trusted Nodes, the nodes sort all transactions in the same order by synchronizing their metadata.

NextAccounts

Last updated 1 year ago