NEM is built from scratch as a powerful and streamlined platform for application developers of all kinds, not just as a digital currency. Using NEM in your application is as simple as making RESTful JSON API calls allowing you to configure your own "Smart Assets" and make use of NEM’s powerful blockchain platform as your fast, secure and scalable. Configured for your use, NEM is suitable for an amazing variety of solution classes, such as direct public transactions via streamlined smartphone app, efficient cloud services that connect client or web applications, or a high-performance permissioned enterprise back-end for business-critical record keeping.
NEM is built around a powerful system for customizing your use of the blockchain. We call it the “Smart Asset System”, and it gives you the power to use NEM as if it were a custom blockchain built for your application and your assets. Rather than force you to write your own “smart contract” code from scratch or use off-blockchain methods of defining custom assets for your business, NEM gives you direct API access to a specialized set of tested and secure on-blockchain features.
The NEM blockchain platform is built from a network of nodes, all running NEM’s core node server software. In summary, these nodes provide a powerful, easy-to-use, stable, and secure platform where Smart Assets transactions are conducted, searched, and immutably logged to the blockchain ledger. To do this, nodes on this network serve two essential functions: API Gateway Server First, each node provides the API gateway that applications may use to access the blockchain and its features. This means that your application does not need to run any complex node software; all usage functionality is available through the API interface on each node in the network itself. This means that the blockchain can be used to create a variety of solution architectures with light-weight code in any language. Some examples of possible solution architectures:
NEM solutions can take one of two forms: NEM provides both a decentralized, open and self-sustaining public blockchain that can be used by anyone – as well as a permissioned private blockchain solution that can be provisioned specifically for your use on your own servers when speed and privacy are the priority. Both use the same underlying code and are 100% API compatible, providing additional flexibility and future-proofing. -Provisioned Private NEM Blockchains- Anyone can provision a version of core NEM blockchain that’s for use on a network of private, “trusted” nodes. In this configuration, elements of the design that prevent bad actors on the public network can be eliminated, allowing speeds to rise into thousands of transactions per second. Nodes are extremely light-weight and do not need specialized hardware or database back-ends. A simple network can be built for redundancy sufficient to prevent a problematic node from creating bad transactions or ruining network throughput. The network can then be accessed by any client or server software desired through NEM’s API interface.
NEM has created an extremely robust, decentralized and self-sustaining public blockchain that can be used by anyone for a variety of applications. To develop on the public blockchain, simply make use of the API interface on any of its nodes. In order to make use of the public blockchain network, users must pay for transactions with small fees paid in NEM’s native currency: XEM. The size of these fees scale with the size and complexity of transactions and are passed to providers of network capacity through fee “harvesting” on nodes. This means that increasing demand for scale and diversity of the network is intrinsically incentivized and keeps the NEM public blockchain quick and robust. XEM can be purchased on a variety of open exchanges. Because XEM fees are used to pay for real commercial transactions on the public blockchain, XEM gathers inherent value. This means that with time XEM becomes an excellent digital currency, usable by anyone on the NEM network for storing or transferring value. A public test network is provided where developers can test NEM blockchain applications without risk or incurring real XEM fees.