2. Definition of terms¶
- Application Programming Interface
In computer programming, an application programming interface is a set of subroutine definitions, and tools for building software. In general terms, it is a set of clearly defined methods of communication between various components. A good API makes it easier to develop a computer program by providing all the building blocks, which are then put together by the programmer.
- Bill of Lading
The document of title. A bill of lading (sometimes abbreviated as B/L or BoL) is a document issued by a carrier (or their agent) to acknowledge receipt of cargo for shipment.
More info: https://en.wikipedia.org/wiki/Bill_of_lading
A blockchain, originally block chain, is a growing list of records, called blocks, which are linked using cryptography. Each block contains a cryptographic hash of the previous block, a timestamp, and transaction data.
More info: https://en.wikipedia.org/wiki/Blockchain
- Blockchain Document Transaction system
- The core platform on which the SmartBL application is built upon. It's the system of transferring the Document of title documents over blockchain and IPFS.
- Document of title
- Any document where the document represents certain value. Typical examples of documents of title are Bills of Lading and Certificates Of Origin.
- Distributed Ledger
- Distributed Ledger Technology
- Distributed Ledger Technology
A distributed ledger (also called a shared ledger, or Distributed Ledger Technology, DLT) is a consensus of replicated, shared, and synchronized digital data geographically spread across multiple sites, countries, or institutions. There is no central administrator or centralized data storage.
Ethereum is an open-source, public, blockchain-based distributed computing platform and operating system featuring smart contract (scripting) functionality. It supports a modified version of Nakamoto consensus via transaction-based state transitions.
More info: https://en.wikipedia.org/wiki/Ethereum
Hyper Text Transfer Protocol. The Hypertext Transfer Protocol (HTTP) is an application protocol for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web, where hypertext documents include hyperlinks to other resources that the user can easily access, for example by a mouse click or by tapping the screen. HTTP was developed to facilitate hypertext and the World Wide Web.
- Interplanetary Filesystem
InterPlanetary File System is a protocol and network designed to create a content-addressable, peer-to-peer method of storing and sharing hypermedia in a distributed file system. IPFS was initially designed by Juan Benet, and is now an open-source project developed with help from the community.
More info: https://ipfs.io/
More info: https://en.wikipedia.org/wiki/JSON
OAuth is an open standard for access delegation, commonly used as a way for Internet users to grant websites or applications access to their information on other websites but without giving them the passwords.
More info: https://en.wikipedia.org/wiki/OAuth
- Public Key Infrastructure
A public key infrastructure (PKI) is a set of roles, policies, and procedures needed to create, manage, distribute, use, store & revoke digital certificates and manage public-key encryption.
- Representational state transfer
Representational State Transfer (REST) is a software architectural style that defines a set of constraints to be used for creating web services. Web services that conform to the REST architectural style, termed RESTful web services, provide interoperability between computer systems on the Internet. RESTful web services allow the requesting systems to access and manipulate textual representations of web resources by using a uniform and predefined set of stateless operations. Other kinds of web services, such as SOAP web services, expose their own arbitrary sets of operations.
SHA-3 is a subset of the broader cryptographic primitive family Keccak designed by Guido Bertoni, Joan Daemen, Michaël Peeters, and Gilles Van Assche, building upon RadioGatún. Keccak's authors have proposed additional uses for the function, not (yet) standardized by NIST, including a stream cipher, an authenticated encryption system, a "tree" hashing scheme for faster hashing on certain architectures, and AEAD ciphers Keyak and Ketje.
More info: https://en.wikipedia.org/wiki/SHA-3
- Smart contract
A smart contract is a computer protocol intended to digitally facilitate, verify, or enforce the negotiation or performance of a contract. Smart contracts allow the performance of credible transactions without third parties. These transactions are trackable and irreversible.
More info: https://en.wikipedia.org/wiki/Smart_contract
Transmission Control Protocol / Internet Protocol – the basis of the Internet
8-bit encoding of Unicode characters
More info: https://en.wikipedia.org/wiki/UTF-8
web3.jslibrary is a collection of modules which contain specific functionality for the Ethereum ecosystem:
web3-ethis for the Ethereum blockchain and smart contracts
web3-shhis for the whisper protocol to communicate p2p and broadcast
web3-bzzis for the swarm protocol, the decentralized file storage
web3-utilscontains useful helper functions for Dapp developers.
More info: https://github.com/ethereum/web3.js/