Aspects of the Skycoin Platform receive so much attention that the coin itself is sometimes overlooked. Here’s an overview of each of the modules that make up the various functions of a Skycoin and Fiber coins.
api– REST API interface
REST API refers to Representational State Transfer, which can be summarized as a design philosophy that centers around performance, scalability, simplicity, modifiability, visibility, portability, and reliability. Skycoin’s API options focuses mostly on providing information, https://explorer.skycoin.net being the primary example.
cipher– cryptographic library (key generation, addresses, hashes)
cipher/base58– Base58 encoding
cipher/encoder– reflect-based deterministic runtime binary encoder
cipher/encrypt– at-rest data encryption (chacha20poly1305+scrypt)
cipher/go-bip39– BIP-39 seed generation
The core of cryptographic function within Skycoin. These modules are responsible of the keys, addresses, and other aspects that prevent sensitive information from being monitored or manipulated.
cli– CLI library
Functions related to using Skycoin’s command line interface. Most wallet functions like balance checks and outputs can be performed by typing commands in to a terminal or scripting them to work with other systems.
coin– blockchain data structures (blocks, transactions, unspent outputs)
This is the majority of the information that is downloaded when you sync a wallet.
daemon– top-level application manager, combining all components (networking, database, wallets)
daemon/gnet– networking library
daemon/pex– peer management
params– configurable transaction verification parameters
readable– JSON-encodable representations of internal structures
skycoin– core application initialization and configuration
testutil– testing utility methods
transaction– methods for creating transactions
util– miscellaneous utilities
visor– top-level blockchain database layer
visor/blockdb– low-level blockchain database layer
visor/historydb– low-level blockchain database layer for historical blockchain metadata
wallet– wallet file management