NEM - 100% new code. Easy APIs. Integration with Bank and over 5000 Business



  • Apostille vs Factom

    Recently the new NEM Apostille White Paper was released, a document which explains and demonstrates the technology behind a brand new notarization and timestamping system natively implemented in the NEM Blockchain.

    NEM is one of the top 10 blockchains (by marketcap) worldwide and has been recognized by the Chinese government as one of the most secure blockchains examined.

    Blockchain Notarization

    One of the core functionalities of any Blockchain system is immutability. This prevents hackers or malicious individuals from acting in an illegitimate manner and tampering with historical records. This functionality is highly disruptive, as up until the birth of Blockchain technology, maintaining immutable records has been a massive headache (if not impossible) for computer scientists, system administrators and auditors, companies, governments and individuals alike.

    In mid-June 2014, Factom introduced the concept of Blockchain notarization to the Blockchain scene, inspired by some previous initiatives built on top of Bitcoin. However, development of Factom has not yet reached the production phase. Factom separates the Data Layer (notarizations) from the Value Layer (coin, funds). This allows anyone to notarize documents in a separate system, one which anchors its records to the Bitcoin Blockchain. This ensures the immutability of the data.

    To make this possible, Factom requires Federated Servers, blockchain nodes, which run all of Factom’s operations and submit the results to the Bitcoin Blockchain every 10 minutes. But this process is not the most atomic nor transparent of solutions. Federated Servers are re-ranked every 4 hours by an election of the users, who have voting power dependant on the Entry Credits they’ve bought and used in the last six months.

    Logically, this system of Federated nodes is not the most secure. They were amazingly innovative in 2014 when even Ethereum wasn’t yet released. However, Factom simply cannot compete with the technological advances of the last two years. Factom’s software is still in its Beta testing phase, so it is currently very risky to use, and companies may need to wait before it is a proven, stable solution.

    A Holistic Blockchain Notarization System

    The need for cheap and secure notarization and timestamping is crucial for the core operations of lots of the companies and governments on Earth. Until now, however, the solutions weren’t strong enough for production in our day to day transactions.

    Following its commitment to build Blockchain business solutions natively on their platform, the NEM team has developed Apostille, a holistic blockchain notarization system. In this system, notarizations are not static one-time timestamps, but instead can now be dynamic, moving, changing, and updatable values on the blockchain. Companies or applications using and building upon this service can determine how their Apostille accounts are made and interact with the authority given by namespaces, the value and status represented by digital assets sent to that account, and the information sent as memos. Furthermore, they can optionally customize the open-source Apostille system to make an application convention framework to best utilize the above features.






    The key innovation of the Apostille blockchain notarization service is not to just make a one-off timestamp of a fingerprint of a document, but instead to also take that document and combine it with the user’s account information to make a special and unique private key just for that file. That file’s dedicated private key is used to make an hierarchical deterministic (HD) account. The system then makes a fingerprint of the document by hashing its contents and then signing that hash with the private key of the user. That signed fingerprint is sent in a transaction to the HD account created from the file’s private key. This HD account now contains both file metadata and its fingerprint, so it can be said to be “colored” with that file.

    Another thing about NEM Apostille is that these functionalities are native on the blockchain, so no trust is required, just like transactions. NEM Apostille is in the production stage, so you don’t have to worry about risky Beta software breaking and can be used via the NanoWallet available here.


    Apostille for Mijn

    Another advantage of NEM technology is that it is also used on the Mijin permissioned chains made by Tech Bureau. Mijin chains use the same APIs as the NEM chain and take advantage of the same core features of NEM and therefore can also run the Apostille service, but offer the advantage of high throughput up to 1000’s of transactions per second with no transaction fees to the consumers. Since a mijin chain is run by a private business, the consumers must trust the company providing the chain, but if anchored to the NEM public chain, it can provide full auditability and users can trust that the history hasn’t been altered.

    Final Thoughts

    As a summary of this article, Factom has been a good first approach for Blockchain notarization of documents, but its implementation is not prepared for real industry problems. It also relies on different protocols which have to be strongly coordinated, leaving more to go wrong.

    NEM, on the other hand, has developed an integral solution in its core, offering extra features used to build Apostille, in a native, efficient and tested way.






    The NEM team would like to thank Andreu Rodríguez from Atraura Blockchain for contributing this blog and Nicholas for reviewing it.








  • NEM JavaScript community in-browser game allows you to earn (testnet) XEM

    Simple proof-of-concept game launched

    Gaming - NEM-Blockchain-enabled, using NEMs specific API feature

    Today, the NEM community member “DystopianFuture” released a simple but fun-to-play JavaScript driven browser game. This multi-player game allows users to battle against each other by throwing apples at opponents, and by doing so defeating them and earning points.

    Players earn points by shooting others and exceeding a certain threshold these points can be withdrawn to their (Testnet!) NEM wallets in the form of XEM crypto currency tokens. DystopianFuture had so far set a “conversion rate” of in-game points to XEM of 10,000 : 1.

    Please try out this funny online game athttp://nem.my/game and give your feedback comments via NEM's main Telegram channel https://t.me/nemred

    Remember this is a multi-player game! The more participants the funnier it becomes. Try it out with your office-mates or friends! And try out NEM!

    Quick manual: Move using the arrow keys Throw apples by pressing space bar Switch on/off Music: Enter key Aim: Use mouse

    Get to know NEM through this game - then, learn more about NEM Blockchain Technology at https://www.nem.io.




  • NEM Blockchain and Xhai Studios announce partnership creating in-game support of XEM cryptocurrency

    Blockchain technology is a cost-efficient technology that not only serves the financial industry well, but it can also be a transformative technology when applied to the video gaming industry. Game developers can now distribute their products on a new type of platform that is more direct, effective and cost efficient, thereby giving flexibility to both the developer and the gamer.

    Xhai shall be using the revolutionary and best of class NEM blockchain technology platform.

    Besides other functionalities, Xhai’s NEM-powered platform enables developers to bypass “middlemen payment processors”. This is accomplished by verifying identity and recording transactions through the use of the NEM blockchain technology. Xhai is set to disrupt the current mobile and video game landscape.

    NEM’s crypto-currency, “XEM,” will be integrated into selected Xhai’s mobile video games. Not only will XEM be utilized to purchase in-app tokens but it will also be used to exchange collected game points into the XEM currency which incentivizes playing. Such a feature creates a new type of “crypto-economy” which provides a potential income stream for everyday gamers.

    NEM’s API feature allows applications and games to integrate directly with blockchain nodes and does not require any third-party middleware or integration servers. Their technology ensures extensibility, scalability and future proofing. More importantly, NEM follows industry-standard API conventions.

    Selected Xhai’s mobile games will include a full-fledged “XEM Wallet,” which features QR functionalities. Xhai chose NEM as its blockchain technology provider because of its outstanding flexibility and ease of integration, which leverages on its above mentioned API-call feature.

    The built-in XEM wallet allows gamers to transfer game points amongst peers to/from their other NEM wallet apps, e.g. the NEM NanoWallet or the NEM Android wallet. In addition, the user can elect to transfer XEM to online exchanges, converting their “gaming proceeds” into any crypto-currency.

    Xhai’s decision to use the NEM blockchain technology is a demonstration of the real value of the NEM’s platform. Its decision to use the public blockchain of NEM fits in well with the roadmap of NEM.

    According to Lon Wong, President of NEM.io Foundation Ltd: “We already have a very strong traction with the use of the private chain (mijin) in many companies. The use of our public blockchain for this purpose comes at a good time where we are starting to showcase the application of our blockchain technology in the financial, logistics, IoTs, notarisation, and now, the game industries.”

    As noted by Otto von Nostitz, President Xhai Studios: “We have already completed several games to be put onto a platform that is now being fine-tuned to integrate with the blockchain application and we hope to be able to roll out our first games using this technology in the coming months.”

    About Xhai Studios

    Xhai Studios (“Xhai”) is an innovative mobile game developer and publisher company co-founded in Cyberjaya, Malaysia by Sami Abuzarifa and Otto von Nostitz. Xhai has developed games for clients as well as published its own games and is now prepared to break new ground by applying blockchain technology to publish state-of-the -art games. For more information please visit our website xhaistudios.com.

    About NEM.io Foundation Ltd

    NEM.io Foundation is a non-profit organisation, set up to promote the NEM blockchain technology globally. It is currently one of the most well-funded and successful blockchain technology projects in the crypto industry. Its technology is currently being utilized in a variety of financial institutions and industries such as Hitachi with its 150 million customer base.

    Author 

    Muhammad Yafi

    Coordinator at NEM Association of Malaysia and NEM Foundation.




  • Developing NEM Docker

    Intro

    The nem-docker is a Docker configuration with accompanying helper scripts published on GitHub. It is one of the easiest solutions to securely deploy and keep a NEM node up to date. This blog post will explain its structure and how it was developed.

    Running in a container brings benefits like isolation, but it also has some caveats. Some examples are a lack of permanent storage, a specific network setup, and no init system. This config and accompanying scripts help get you up and running with a minimum of fuss, and even follows strict best practice, like checking the hash of the downloaded NEM software (do you do that when installing manually? ;-)). Let's see how it works.

    Two Ways of Running Docker

    Before running a docker container, you first need to build an image for it. You can see this step as building the filesystem of the container. There are two ways of doing this. You can build the image locally, or you can download an image from Docker Hub.

    Pulling the Image from Docker Hub

    Images are available on dockerhub for running either nisncc.

    The NIS image is actually used by the Deploy on Azure scripts.

    Each live in a specific git branch on GitHub (respectively named NISNCC). Both branches are based on a third branch named hub. Most changes take place in the hub branch, and the NIS and NCC branch only hold changes regarding which software needs to be started by default.

    Locally Building

    You can also build the image locally. The Docker config is held in the master branch on GitHub.

    Building the image and running the container off of it is facilitated by the helper scripts is possible. This is actually the best-tested deployment method, and it is recommended that you do it this way.

    Building the image

    We will focus our attention on the locally built image because the repo holding the Dockerfile also includes sample config files, but differences with the images published on Dockerhub are minimal. For information on how to download the image, see the section below about "Running with Dockerhub images".

    To run a Docker container, you first need to describe the image it will run off. This is done in the file name Dockerfile.

    Let's look at the nem-docker Dockerfile, with links pointing to the relevant lines of the file on GitHub. The container image is based on Fedorapackages are installed.

    The latest release is downloadedvalidity is checked. If the check succeeds, the archive is decompressed, and the NEM software will be available in the directory /packagein the container.

    It then proceeds by adding a nem user and creating some directories where the NEM software data will be stored.

    The servant is also downloaded and installed, making this config suitable to run a supernode.

    Docker is made to run one command per container. To work around this, which is needed if you want to run a supernode, the command run in our container is supervisord, which will control what software to run in the container.

    When the image is built, a default supervisord configis placed in the image. This config simply defines the available services (NIS, NCC, servant) without starting any automatically.

    Following this, the Dockerfile announces which ports the container will listen onwhich command will be run by the container.

    Running the container

    Now that we have built the image, we can run the container with the command sudo docker run. However, there are some important things you need to know first.

    Persistent Storage

    All changes done on the filesystem of the container are specific to that container. When you want to upgrade to the latest NEM version, you will build a new image, and start a new different container, which will not have the changes specific to the old container. When running NIS, that would mean re-downloading the whole blockchain every upgrade.

    The solution to this is to use docker volumes. The best way to use this is to mount a directory from the host to the container. This lets you inspect the content of the directory as the container runs. This is simply done by using the flags -v /path/to/host/dir:/home/nem/nem, as the NEM software data is saved in the container in /home/nem/nem.

    Custom configs

    You certainly want to have custom configs passed to the NEM software running in the container. This is easily done because similarly to mounting a directory in the container, we can also mount an individual file in the container. It is just a matter of mounting the right config file at the right location in the container. Here are the config file locations in the container:

    • NIS: /package/nis/config-user.properties
    • NCC: /package/ncc/config-user.properties
    • Servant: /servant/config.properties
    • Supervisord: /etc/supervisord.conf

    If you have a custom config located at /home/tom/nis.xml, you can use it by passing the option -v /home/tom/nis.xml:/package/nis/config-user.properties.

    Port Mapping

    Software running in the container will open TCP ports. Mapping these container ports to the host’s ports is done by the -p container_port:host_port flag passed to docker run. For example, to map the NIS port, pass the option -p 7890:7890 to docker run.

    Application

    Let's now build our image and run a Docker container with NIS. First, let's clone the repo:

    git clone https://github.com/rb2nem/nem-docker.git
    

    then build the image:

    cd nem-docker/
    sudo docker build -t nem_image .
    

    After some time you should see the last line starting with

    Successfully built 
    

    We will run NIS in the container, and we want it to start automatically when we run the container. For that we need to update the supervisord config:

    cp custom-configs/supervisord.conf.sample custom-configs/supervisord.conf
    edit custom-configs/supervisord.conf
    

    This last line opens the file in vim on my system, but you may replace the edit command by your preferred editor. For beginners, nano is very simple to use.

    In the section [program:nis] of that file, change the autostart line to autostart=true and save the file.

    For demonstration purpose, I will store the NEM data in /tmp/nem (do not do this for your production setup, choose a base directory other than /tmpor you'll lose those files at your next reboot...). Create that directory...

    mkdir /tmp/nem
    

    All is now setup for running the container. To run NIS you need to publish port 7890 with -p 7890:7890, mount the NEM data directory from the host with -v "/tmp/nem:/home/nem/nem", and mount the custom supervisord config with -v "$PWD/custom-configs/supervisord.conf:/etc/supervisord.conf". Note that mounting files and directories in a container requires passing absolute directories, hence the use of $PWD. which is the current working directory. Lastly, name the container nem. The full command is:

    sudo docker run -d -p 7890:7890 \
               -v "/tmp/nem:/home/nem/nem" \
               -v "$PWD/custom-configs/supervisord.conf:/etc/supervisord.conf" \
               --name nem \
               nem_image
    

    -d runs the container as a daemon, giving you the shell command prompt back.

    The container will change the owner of the nem directory to the nem user in the container, which has user id 1000, and it will give read, write and execute to the group of said directory. This should let go in the directory even if your user id is not 1000 on the host.

    After a couple of seconds you should be able to request the running NIS on port 7890 of your localhost with this command (install curl on your host if needed, or use a web browser):

    curl http://localhost:7890/status
    

    If you receive an error like this one: curl: (56) Recv failure: Connection reset by peer If is probably because NIS is still starting up. When NIS is up, you get this response:

    {"code":5,"type":4,"message":"status"}
    

    Code 5 means The local node is booted (implies NIS is running).. You can check the meaning of other codes.

    If you don’t get a successful answer even after a couple of minutes, you can check the NIS logs in the file /tmp/nem/nis-stderr.log.

    When NIS is runnig, curl http://localhost:7890/node/infogives you info about your node.

    You can now safely stop and remove the container:

    sudo docker stop nem
    sudo docker rm nem
    

    Because no data is stored in the container, it can be safely removed. Next time you want to run it you issue the exact same sudo docker run command, and it will start nearly immediately as it uses cached data to create the container and use the blockchain it has already downloaded.

    Running with Docker Hub Images

    Here are the commands to do the same as above using images published on Dockerhub rather than building your own.

    As the rb2nem/nis image is configured to start NIS automatically, you don't have to change the supervisord config:

    mkdir /tmp/nem
    sudo docker run -d -p 7890:7890\
                -v "/tmp/nem:/home/nem/nem" \
                --name nem \
                rb2nem/nis
    

    However, you still might want to override the default config files used in the container. To get the sample config file, just check out the repo and look under the custom-configsdirectory:

    git clone https://github.com/rb2nem/nem-docker.git
    

    Remember that in those sample configs, no service is autostarted. Don't forget to change the autostart field!

    An Easier Way?

    We've seen how we can run NEM in a Docker container, but it requires running cumbersome commands. Couldn't we make it easier to use by using a script passing all these parameters as needed? Of course we can! The good news is that those scripts exist. We'll take a look at them in the next post covering NEM in a docker container.

    The NEM Team would like to thank RB2 for contributing this blog.



  • NanoWallet Beta 1.3.0 released

    Nanowallet Beta 1.3.0 has been released, you can download the new version here:

    https://www.dropbox.com/s/kejp...

    Changes in Version 1.3.0

    • New design
    • Address book
    • Fix Apostille on Chrome and Safari
    • No need to provide an account address to create a private key wallet, address will be shown automatically
    • Same as above point but for creating multisig accounts
    • Importance transaction module show the corresponding remote account address when a custom public key is provided
    • Fix handling of decimal amount in normal transfer transaction, comma and dot decimal mark can be used
    • Fix message fee
    • Fix ‘unknown mosaic divisibility’ error when receiving a new mosaic
    • Limit individual apostille file to 100MB
    • Fix display of importance score
    • Fix “FAILURE_TIMESTAMP_TOO_FAR_IN_FUTURE” using NIS time-sync API
    • Lock app and show message if browser not supported
    • New market data provider
    • Minor fixes & improvements

    This archive is certified using Apostille: Owner: NAMOAVHFVPJ6FP32YP2GCM64WSRMKXA5KKYWWHPY Apostille hash: 4e54590367f408c53daecd76cab98d09917fd72485ca9a4428119cce115a2838384dacf2 Transaction hash: 5b8847344028781eb566ffb60803ee1d7c427b3bd5c3dbcb92f1236207b0a293

    If you have a Github account please report issues here: https://github.com/NemProject/NanoWallet21 otherwise you can let a message in this thread. Thanks :slight_smile:

    To receive a bug bounty, issues must be made in Github and have the payout address included. Jabo38 will filter and reward the bug bounties.

    /!\ It is highly recommended to use latest Firefox, Chrome or Safari.

    /!\ Microsoft Edge and Internet Explorer are not fully supported and could lead to the loss of your XEM if private key not backed up. For now, use of these browsers is locking the application.

    Previous Nano Wallet version 1.2.12:

    https://www.dropbox.com/s/9psy7m1lsitk05t/NanoWallet-1.2.12%20–%20Apostille%20TX%20db115f17dc5d965751fc14d3f8724101d429dce55177a2a97f47a6e9cc8a64b0%20–%20Date%202017-01-29.zip?dl=0

    Features:

    • Simple and mosaic transfers
    • Namespaces & mosaics
    • Create and edit multisignature contracts
    • Delegated harvesting & income chart
    • Plain & encrypted messaging
    • Apostille module
    • Transactions to alias (@namespace)
    • BIP32 accounts
    • NCC wallet support
    • Market information
    • Balance to BTC and USD
    • Changelly Instant Exchange module
    • Address book

    Detailed comparison with other apps:

    http://free.userboard.net/t106...

    Help

    I – How to use Nano Wallet ?

    No installation or local server needed. Once you have extracted the NanoWallet folder from the archive you can simply click on start.html to open the app in your default navigator.

    II – How to import NCC wallet ?

    Open NCC and your wallet, clicking on user icon should reveal a drop-down menu with “Export to ligthwallet”. Once your have your wallet (.json format), open Nano and import it. It’ll ask for an upgrade and trigger the download of your updated wallet.

    III – Imported accounts that are already harvesting using NCC

    NCC is using a different way to generate the remote associated with an account. Nano Wallet uses BIP32 to generate it deterministically and make everything easier. In order to manage and monitor harvesting, you’ll need to deactivate the old remote account from NCC and activate your new remote account from Nano.

    /!\ Later note for main network: If you are part of the Supernodes program you’ll need to re-enroll your node using your new delegated public key.

    IV – Update Nano Wallet

    Before update make sure that you don’t have any wallets stored into the NanoWallet folder (you can place them anywhere you want). Then, just delete old version and unzip new version.

    Known issues

    • Sometimes unconfirmed transactions does not show up for cosignatories

    For more information and support please visit the NEM Forum at:

    https://forum.nem.io/t/nano-wa...



  • How to Use Library for NEM in Node.js

    The NEM API can be a bit hard to start with if you're not able to spend a while reading documentation. Nem-api is the solution to this. Simply find what you want to do on chain in the API documentation and copy paste it into your project. It's great for quickly prototyping apps on the blockchain, and is ready to use in production as well.

    In addition to this project, it is also a good idea for developers look into the recently released NEM-sdk for alternative options.

    Features

    • Signing
    • Transactions
    • NIS Management
    • Websockets
    • Full Transaction 2.0 (Mosaics) Support
    • Fully commented code for anyone to learn from!

    Installation

    Just like anything else on npm, just do npm install nem-api --save in your project directory. You can then use nem-api by using require() in your node.js project.

    Usage Examples

    More features are being added often. If you contribute to nem-api, please add an example of how to use your feature in the README. It should be fairly simple if you read these examples and the code.

    Initialization

    var nemapi = require('nem-api');  
    var san = new nemapi('http://san.nem.ninja:7890');  
    

    The API URL can be null if you just want signing. In fact, a lot of things can be null, everything is properly handled.

    Signing

    var signature = san.sign(hexPrivateKey, thingToSign);  
    console.log(signature);  
    

    This signs the message converted to raw bytes, perfect for proving you own an account.

    NIS Requests

    san.get('/account/get', {'address': 'YOUR_ADDRESS'}, function(response) {  
      console.log(response.body);
    });
    

    For post requests just use san.post and the same parameters. Note that response.body is a javascript object already, and does not need to be parsed in order to access the insides.

    Making a Transaction Object

    A transaction object looks like this.

    var txobject = {  
      'isMultisig': false,
      'recipient': "TXXX-XXXX-XXXX-XXX", // Dashes optional, all parsed later.
      'amount': 1, // Amount of XEM to send.
      'message': 'Hello receiver!', // Message to send.
      'due': 60 // Not sure what this does but the default is probably fine.
    }
    

    You can send this transaction in a couple of ways.

    You can make it, serialize it, then send it yourself.

    var transaction = this.makeTX(transactionobject, privatekey);  
    var transactionobject = this.signTX(transaction, privatekey);  
    this.post('/transaction/announce', transactionobject, callback);  
    

    Or you can just give it to the doTX() function, and it'll handle that all for you.

    san.doTX(transactionobject, privatekey, callback);  
    

    The callback is a regular post() callback, so it is passed an object called response, which contains response.body (parsed JSON).

    Using WebSockets

    Have an example, it should be self-explanatory. Here is the list of channels you can subscribe to, and what they do.

    • /errors - Always subscribe to this channel, errors are sent here.
    • /account/ - This triggers whenever an account's state has changed.
    • /recenttransactions/ - Gives the recent transactions of an account.
    • /transactions/ - Sends on transaction confirmed.
    • /unconfirmed/ - Sends when an unconfirmed transaction is received.
    • /account/namespace/owned/ - (single) namespace owned by given account
    • /account/mosaic/owned/ - (single) mosaics owned by given account
    • /account/mosaic/owned/definition/ - (single) definition of mosaic owned by given account
    • /unconfirmed - EVERY Unconfirmed Transaction that the NIS receives, this is a lot of data!
    • /blocks/new - Every new block is sent here.
    • /blocks - full blocks
  • var nem = require('nem-api');  
    var bob = new nem("http://bob.nem.ninja:7890/")
    function getNewBlocks() {  
        var thing = bob.subscribeWS("/blocks/new", function(message) {
            console.log(message.body);
        });
        // Later you can thing.unsubscribe(); so keep this object safe.
    }
    bob.connectWS(function () {  
        getNewBlocks();
    }, function() {
      console.log("This runs in case of a failure.");
    });
    

    Conclusion

    The nem-api library for node.js is the perfect way to build your applications on the NEM platform. It provides nearly everything you will need to build a powerful blockchain backed application with NEM.

    If you'd like to contribute to development, create a pull request on Github.

    You can also support the project with a donation in XEM at NDLL32-E2LU3M-BOUFCO-ERHSLK-A3O62C-KABXYG-4JYE or a Bitcoin->XEM bridge address at 1Csp78BhddGz9Qj6cF4yc3bnC9Kv49G82f.

    The NEM team would like to thank Nikhil Jha writing this blog.



  • NEM Mainnet Faucet OPEN!

    I setup NEM Mainnet Faucet ! It's mainnet. Let's play and get free XEM and Mosaics !I think it good for newcomer or those interested. http://namuyan.dip.jp/nem/mainnet_nodb/

    • Play needs only NEM Address.
    • Twist every 60 minutes.
    • Get Good mosaics!
    • Chance to get 100XEM at once!

    I also maitain NEM Testnet Faucet. http://namuyan.dip.jp/nem/main/



  • Radicalizing the Equity Market Landscape through NEM Blockchain Technology

    Radicalizing the equity market landscape is a thought-provoking challenge to regulators and the equity market in adopting a paradigm shift in the way securities are being traded. It calls for a complete overhaul of the markets and introduces the use of a centralized multi-ledger system, yet operating in a decentralized blockchain network architecture.

    The system and solution proposed in this 26-page paper calls for a complete dematerialization of assets, using the NEM blockchain technology. It also calls for disintermediation and re-intermediation of the equity market ecosystem.

    The equity market, and the securities industry at large, is an industry that uses a multitude of ledgers to keep record of all transactions. The key challenge that leads to its inefficiencies is the need to reconcile all of these transactions among all the ledgers, and eventually, the payment and settlement process.

    The paper is an extension of a proven process that is being utilised by cryptocurrency exchanges. However, hitherto, it has not been applied to long standing traditional markets. The traditional markets are a multi-trillion dollar industry, and as the saying goes, “If it ain’t broke, don’t fix it.” However, there is increased pressure to improve on the settlement period of 3 days. The current scenario is too difficult to change without completely changing the processes.

    This paper explains in depth how it can be taken to the extreme using the NEM blockchain technology. It further explains how high-frequency trades and volumes can be easily catered for, using the NEM technology.

    The revolutionary approach includes taking broking firms, custodians, and share registrars out of the equation. CSDs role may have to change as well to include being the operator of the blockchain solution in addition to being a trustee of funds deposited.

    The disposition of the paper suggests a transformation process that could break the age old tradition that have been in existent for the longest time.

    Abstract of the paper published by Lon Wong, CEO of Dragonfly Fintech Pte. Ltd. & President of the NEM.io Foundation Ltd.:

    “The equity market poses a very inefficient system when it comes to post-trade clearing, payment and settlement. Trade matching occurs at the rate of hundreds of transactions per second but clearing and settlement of stock takes more than two days to complete. The equity market should consider a complete system revamp as the current systems and practice methods are based on legacy process practices that are outdated. We present the NEM blockchain technology as a suitable core component to re-design the equity market ecosystem which could save the industry billions of dollars a year in operational expenses. Our recommended approach looks at a clean sheet design taking cognizance of existing regulatory requirements and the need to shorten the post-trade clearing, payment and settlement cycle. This paper is intentionally written to address a wide spectrum of readers and does not contain deep dive technical details and design.”

    Access the full 26-page document for free here.

    About NEM

    NEM is an innovative blockchain technology project, a peer-to-peer crypto platform. It is written in Java and JavaScript with 100% original source code. NEM has a stated goal of a wide distribution model and has introduced new features in blockchain technology in its proof-of-importance (POI) algorithm. NEM also features an integrated P2P secure and encrypted messaging system, multisignature accounts and the Eigentrust++ node reputation system.

    NEM has gone through extensive open alpha testing starting June 25, 2014, followed by lengthy and comprehensive beta testing starting on October 20, 2014. NEM’s public blockchain launched on March 31, 2015, and is now running without interruptions for almost two years. The private chain project “mijin” is powered by NEM technology.

    Today, NEM is undergoing development of an upgraded core technology called “Catapult”. Catapult will power mijin in the first phase and become implemented into the NEM public chain subsequently during 2017.

    Author,

    NEM Association (Malaysia)



  • How to: Setup an Azure account for a NEM Supernode


    This guide will cover the basic setup of an Azure account, including  signing up, the creation of a vps, and configuring the network

    To create an Azure account you need: 

    -email address 

    -credit card (prepaid cards don't work, read more)

     - phone number

    To follow this guide you will need to (download) some additional software.

    - putty.exe for SSH connection

    - puttygen.exe to create keys for login

    - pageant.exe to load the created keys



    Key creation

    Before we start with Azure, let's create our login keys with puttygen.exe

    puttygen

    puttygen

    1. Start puttygen.exe, choose RSA and 2048 bits from the bottom.

    2. Click on "Generate"

    3. Choose a "Key comment" (for example: name of your node)

    4. Choose a "Key passphrase" and confirm it

    5. Save the public key & private key files

    6. Copy the content of the box on the top to a text file, we need this later

    7. Close puttygen

    Signup

    Open the Azure sign up website https://azure.microsoft.com/fr... and click start.


    StartStart

    Choose "Create a new Microsoft Account" from the bottom of the page.

    sign up

    sign up

    Fill out all the fields, verify your identity, agree to the terms of services and sign up.

    details

    details

    Creating a VPS

    Once you have signed up, you can log into https://portal.azure.com.

    dashboard

    dashboard

    Go to "New", search for "Debian 8" and select it from the list.

    new

    new

    Choose "Debian 8 Jessie" and click create.

    debian 8

    Fill in the basic information and create a new resource group.

    For "Authentication type" choose "SSH public key" and paste in the key you have created with puttygen and saved in a text file. The VPS location is based in the same location as the resource group.

    If you want to find out more about resource groups, you can read about it here.

    create vps

    Go to "Size", select "View all"

    create vps

    For this guide, we will choose an "A1 Basic" sized VPS. Basically, anything with at least 1 CPU Core and 1.5GB RAM will work.

    create vps

    create vps

    Go to "Settings", leave everything default besides "Public IP Adress". Monitoring is optional.

    create vps

    create vps

    Click on "Public IP address" and change the assignment to
    "static". If you leave it to dynamic, the VPS will have a new IP after
    every shutdown from the Azure Dashboard

    create vps

    create vps

    Check the "Summary" and click "OK"

    create vps

    create vps

    The notification area will show the progress of the deployment. This can take from 5 to 15 minutes.

    create vps

    create vps

    If the deployment succeeds, you will be notified.

    create vps

    Configuring Network

    The VPS is now created, so let's move on to the network settings.

    From the left of the dashboard choose "All resources" and click on your "Network Security Group". In this case, the security group is called "Supernode". Choose "Inbound security rules" from the left.

    configuration

    configuration

    Click on "Add" and enter the name, priority, and port similar to the screenshot.

    configuration

    configuration

    You have to do this 3 times for NIS, servant, and Lightwallet.

    Ports: - 7890 for NIS - 7880 for servant - 7778 for Lightwallet

    When you are done it should look like:

    configuration

    configuration

    Connect to VPS

    After setting up the network we will try to connect to our VPS. Go to "All resources" again and choose the network interface. Write down the "Public IP address".

    connect

    connect

    Start pageant.exe and open "View Keys" from the tray icon.

    pageant

    pageant

    pageant

    pageant

    Click on "Add Key" and select your saved private key (.ppk) you created
    earlier with puttygen. After the key is loaded, you can minimize pageant
    to the tray (but don't shut it down, it needs to run in the
    background).


    pageant

    Start putty and navigate to "Connection - SSH - Auth". Browse for your private key file (.ppk)

    putty

    Navigate to "Connection - Data" and input your username in the "Auto-login username" field.

    putty

    Go to "Session" and enter your IP in the "Host Name" field. Save the session (optional) and click "Open".

    putty

    A console will open. Username and password is not needed, it will
    automatically load your username from putty and your key from pageant!

    Root access

    By default the user root is deactivated. To activate, log in as a standard user. Type the following in the console:

    sudo su -  
    

    Set a root password with:

    passwd  
    

    After setting a password the root user is activated. To login to your VPS you still need the standard user (with RSA-key login) but as soon as you are logged in, you can change to root with:

    su  
    

    Install Supernode

    The VPS is now ready for installation. For the installation, we will use Paul's guide (click here), since it has covered everything.

    There is 1 value which you have to change: 1.3 from:

    Java -Xms768M -Xmx768M  
    

    to:

    Java -Xms1024M -Xmx1024M  
    

    Other than that you can follow the guide and your supernode will be set up correctly!

    The NEM team would like to thank Patrick for this blog.




  • NEM’s Developer guide

    Get all information you need to develop on NEM’s technology.

    Nem Presentation

    Nem is a blockchain built from scratch, learning some lessons from Bitcoin. If you need an introduction to the blockchain concept, here is a good visual introduction, which also propose an interactive part.

    Nem is providing:

    • editable n-of-m multi-sig: an action in a Nem account is authorized only if n of m key identified as authorised validate it. When you create your account, it is a 1-of-1 account, meaning only you need to validate any operation. It is however possible to modify the account to add authorised keys, and specify how many of them need to validate an operation. This can be 1-of-2, or 2-of-5, and can evolve over time.
    • mosaic, an implementation of asset also known as colored coins.
    • namespaces.
    • a client (on the desktop: previously NCC, currently NanoWallet; or mobile) - server (NIS, the next version of it being named Catapult) approach, easing the development of solutions on Nem as your software only has to talk to a NIS instance.
    • software backed by a test suite
    • Proof of Importance
    • a peers reputation system
    • a one minute average block time
    • delegated harvesting: no need to let your own computer connected to compute blocks and reap fees, you can delegate your importance to a NIS instance of your choice without risk of loosing your funds
    • a currency named XEM, used to pay for fees of operations on the blockchain

    These can be leveraged to build products and tools, such as Apostille, a notarisation service; or Landstead, a land and property registry. The NEM features enable you to rapidly deliver working products

    Integrating with Nem

    At time of writing in April 2017, the Catapult rewrite of NIS is well underway. It is said to provide a mostly compatible REST API with NIS, the server currently available. We will thus base this guide on the REST API. That API can be accessed from any language.

    Testing net

    Before you run your code on the Nem blockchain, you might want to validate it in a test environment, without having to spend real XEMS to pay the fees of your operations. That’s the purpose of the test net, a version of the Nem blockchain used for testing not only your applications, but also newer versions of the Nem software itself.

    If you run a NIS instance yourself, you can configure it with the key nem.network. For you NIS to join the production Nem blockchain, set its value to mainnet, and for it to use the test blockchain, set its value to testnet. mainnet and testnet is also the way we will identify in this document the two environments.

    If you don’t run your own NIS instance, but still want to work in the testnet, you can find a list of NIS instance part of the testnet at http://bob.nem.ninja:8765/#/nodes/.




    Read Full Guide: https://goo.gl/X27Ppj








  • NEM (XEM) Release Beta 0.6.87

    There will be a fork at height 1110000 (which is roughly May 15th).

    Changes:

    More protection for users unintentionally hurting themselves. Details will be announced once we pass the fork height.

    This upgrade is mandatory.

    If you're using the installer, make sure to stop running NCC and NIS before running the installer!

    NEM requires Java 8 Remember the installer requires 64-bit Java You can download Java from official page: http://java.com/en/download/manual.jsp12

    You can start NCC and NIS with an installer from the following link: http://bob.nem.ninja/installer... Standalone version: http://bob.nem.ninja/2



  • NEM (XEM) New Exchange:

    https://coincheck.com/exchange



  • How to make your first namespace and mosaic! in NanoWallet.

    This guide will cover the basic setup of namespaces and mosaics in the NanoWallet.

    To create a namespace you need: - 5000 XEM for the root namespace - 200 XEM for every subnamespace

    To create a mosaic you need: - 500 XEM

    Example

    You are a farmer with 50 potato fields. Since 50 fields are too many for yourself, you start to think about selling some of the fields to investors.

    How can this be done with NEM and NanoWallet? With namespaces and mosaics of course...

    Creating a namespace

    Introduction

    Before we create a mosaic to represent the 50 fields, we need to create a namespace and we will also create a sub-namespace. For this example, we create a root-namespace for the farmer and a sub-namespace for the potato fields.

    A root-namespace can be compared to a web domain, for example, nem.io. A sub-namespace can be compared to a sub-domain such as blog.nem.io.

    Following namespaces have to be created: Root-namespace: farmer Sub-namespace: potato (farmer.potato)

    Creation of root- and sub-namespaces

    Login to the NanoWallet, go to Services and choose "Create namespace". First, we create the root namespace.

    create namespacecreate namespace

    - Parent Namespace: select ". (New root Namespace)"
    - Namespace: farmer (this is the name of the namespace)
    - Password: Your wallet-password

    Once you have entered the values, click "Register". Go to the Dashboard and check, if the registration was successful:

    create namespace

    Parent Namespace: select "farmer"
    - Namespace: potato (this is the name of the sub-namespace)
    - Password: Your wallet-password

    Once you have entered the values, click "Register". Go to the Dashboard and check, if the registration was successful:

    create sub-namespacecreate sub-namespace

    Creating a Mosaic Asset

    After the creation of the Namespaces, we move on to create a mosaic for the 50 potato fields.

    create mosaiccreate mosaic

    Mosaic definition
    - Parent Namespace: select "farmer.potato"
    - Mosaic name: field (this is the name of the mosaic)
    - Description (optional): a short text description
    - Password: Your wallet-password

    Mosaic properties - Initial supply: 50 (50 fields) - Divisibility: 0 (fields are not divisible) - Transferable: Means, the mosaic is transferable - Mutable supply: Means, the supply can be changed up or down in the future

    Once you have entered all the values, click "Send". Go to the Dashboard and check, if the creation was successful.

    mosaic creationmosaic creation

    If you open the "Explorer", you can see that you now own 50 assets of farmer.potato:field

    Transfer of Mosaic

    Introduction

    Everything is set up now and you are ready to sell your first field(s) to investors. Since you are using NEM to manage your fields, your investors also need to set up a NEM NanoWallet. Once done, they can send you their account address.

    Transfer (farmers view)

    Investor 1 (Alice) has set up the NanoWallet and wants to buy 2 fields from you. The account address from Alice is: TC2S7V-55FISZ-BJJBP4-UZUDTO-X42P7O-H5WJET-NU4A

    To send 2 fields to the account, go to Send in NanoWallet and choose "Mosaic transfer":

    mosaic transfermosaic transfer

    Remove the "nem:xem" mosaic:

    mosaic transfermosaic transfer

    Choose "farmer.potato:field" from the "Currency" dropdown and click "Attach":

    mosaic transfermosaic transfer

    Add the account address from Alice in the "To" field. Set the amount for
    the field(s) on the right side, enter your wallet-password and click
    "Send":

    mosaic transfermosaic transfer

    Once you have sent the mosaic asset(s), go to the Dashboard and check, if the transfer was successful:

    mosaic transfermosaic transfer

    Transfer (investors view)

    Alice will see the incoming transactions on her Dashboard:

    mosaic transfermosaic transfer

    To check all her owned mosaics, the investor can open the Explorer:

    mosaic transfermosaic transfer

    Change of supply

    Your business runs great, in fact, you are thinking about adding another 50 potato fields to your farm. How to add those new fields to your Mosaic? Go to Services - "edit mosaic":

    mosaic transfermosaic transfer

    - Select mosaic: farmer.potato:field
    - Change type: create
    - Change amount: 50

    Check the resulting supply for errors and click "send." Done.

    What about the tomatoes?

    Since the potato field business is running great, why not do the same to the tomato fields? Since you already have your root-namespace you can create a sub-namespace, for example, "farmer.tomato" and create a mosaic for it just like you did for the potato fields (farmer.tomato:field). Customers happy with your potato asset can now trust your tomato asset too, as they could have both only been created by you.

    The NEM Team would like to thank Patrick for this blog.



  • Nem Chain Tx & Supernode Notifications Telegram Bot

    NEM has recently had an influx of new users and Supernodes. Using block explorers like Nembex

    Our NEM ExplorerNode Rewards Explorer
    is also nice for keeping track of one's Supernode status, but the
    community often would like a more personalized approach, something like
    instant notifications to their mobile device about updates to their
    account(s) or status of their Supernode. To this end, the
    @NemNotificationsBot on Telegram has been released.


    What is the Nem Chain & Supernode Notifications Telegram Bot?

    The Nem chain notifications bot was created to automate the checking of supernode tests as well as nem account transactions, and harvested blocks to take the hassle out of monitoring your nodes and accounts.

    If your supernode goes offline for any reason, is otherwise unreachable or fails any of the tests, you will be notified near instantly, reducing the downtime and losses to a minimum. If your node is unreachable for more than 48 hours, it will be automatically unregistered. If your node is unregistered, the deposit account associated with it will also be unregistered, and any summary data along with it. If your node comes back online, you will also be notified.

    When you register a supernode with the bot, the deposit account is automatically registered to your telegram ID number, and you will begin to receive notifications about any failed supernode tests, any blocks harvested as well as any transactions in or out of the deposit account.

    After registering a node or account, you have the ability to request account summaries. You can choose 1 day, 7 days, 31 days or a custom number of days up to a max of 90 days.

    You can also opt out of any of the different notification types if you wish, to reduce the number of messages you receive from the bot.

    How to use the bot

    To begin using the bot, search @NemNotificationsBot on telegram and hit start.

    The commands for the bot, and how to use them are as follows:

    Help

    /help

    Used to provide some basic help on using the bot, as well as displaying most of the commands available to you

    Registering nodes

    /registerNode:

    Used to register a node or list of nodes.

    Example:

    /registerNode: 124.3.45.119, 34.102.66.44, 10.34.22.100

    You can register as many nodes as you like with one message as long as the IP addresses are comma delimited.

    /unregisterNode:

    The reverse of the above command.

    Registering accounts

    /registerAccount:

    The same as the /registerNode: command, except that you include nem addresses instead of IP addresses.

    Example:

    /registerAccount: NBBAP4S6LEILOPYFLNLLRXQKHVVDIGTBPKWIUP76, NAOLIVENEXCVSMUUGYHAPGN43QKHXYX5QGYAZ7AY, NBFIRDNKPDYF5ZEYS65JDQ237KEUAIWRDFAV7BHA

    Addresses with hyphens are also supported. You do not need to have registered a supernode to register an account.

    /unregisterAccount:

    The reverse of the command above.

    You're registration details

    /myDetails

    Returns a list of all the nodes you have registered along with their associated deposit account and some additional information, followed by a list of any accounts you may have registered that are not associated with any of your supernodes.

    Notification options

    /optIO

    Displays a new set of commands for opting into or out of the different notifications types, e.g., notifications about blocks harvested or newly confirmed transactions.

    You are automatically opted in for all notification types by default. You can opt out globally or individually for all accounts. For example, if you have ten accounts registered, you can opt out globally and then opt back in for certain accounts or vice versa.

    For all accounts

    /optInTxsGlobal

    Use this to opt into transaction notifications for all accounts registered to you.

    /optOutTxsGlobal

    The reverse of the above command.

    /optInHarvestingGlobal

    Use this to into of harvesting notifications for all accounts registered to you.

    /optOutHarvestingGlobal

    The reverse of the above command.

    For an individual/specific account or a list of accounts

    /optInTxsAcc:

    Used to opt out of transaction notifications for a single account or a given list of comma delimited accounts.

    /optOutTxsAcc:

    The reverse of the above.

    /optInHarvestingAcc:

    Used to opt into harvesting notifications for a given list of accounts. A single account or a comma-delimited list of accounts can be given.

    /optOutHarvestingAcc:

    The reverse of the above.

    Account summaries

    /summary

    Displays a submenu of the following summary commands.

    /dailySummary

    Returns a summary of information about all your registered accounts for the previous 24 hours. This includes any accounts associated to the supernodes you have registered.

    The information includes total transactions in, out and the sum of transactions both in and out, the total value of said transactions, the sum effect of said transactions on your account, the number of blocks harvested and total fees, the total supernode payout (this will always be zero if the account is not associated with a supernode), the current balance of the account and of course the address of the account the summary is for, as well as the notification types the account is registered for.

    /sevenDaySummary

    Returns a summary of information about all your registered accounts for the previous 7 days. Returns the same information as above.

    /thirtyOneDaySummary

    Returns a summary of information about all your registered accounts for the previous 31 days. Returns the same information as above.

    /customSummary:

    Returns a summary of information about all your registered accounts for the number of days given. Returns the same information as above.

    Example:

    /customSummary: 5

    Will return a 5 day summary of all your registered accounts. Returns the same information as above.

    Harvesting

    /harvestingSpace

    When you use this command, three nodes which have harvesting space are returned. The nodes are chosen from a list of supernodes nodes ordered by their uptime, implying reliability for harvesting.

    Removing your information from the server

    /deleteAccount

    Use this to completely wipe your account from the database. Not displayed in the menu to prevent accidental deletion.

    The NEM Team would like to thank Telegram user @kodtycoon for contributing this blog.



  • NEM Makoto Takemiya - Our Clarification

    Makoto Takemiya called for truce and quietly left NEM sometime in May of 2016. The core team evaluated the matter and assessed that it was better to split ways quietly and look forward, rather than going public about the details of what caused the split. We deemed it most appropriate to make a gentlemen's agreement between all parties involved to not divert from the matter and carry on with our business.

    We have always kept that agreement from our end, but recent events forced us to review our position. Sometime in mid-April of 2017, a book was released by Nikkei publication, titled, “Virtual Currency and Blockchain by Toshihisa Kinouchi”. On page 198, it read, in summary, that Makoto was the inventor of NEM and was a lead in the NEM and mijin blockchain project. The page was basically a “panegyric of a great legend that walked through the corridors of NEM”.

    This article is an attestation of what has been going on behind the scenes and how these misconceptions about Makoto’s involvement seem to persist without a valid reason. Makoto had stated at the time of his departure that he would write to anyone to correct any statement that was wrong, but that was not the case, again, and again.

    As a result, we see no other option than to publish this open letter with a reference to the full story (including evidence) in order to set things straight once and for all. This has to be done to put a halt to the disinformation and misinformation, coming from many sources, that Makoto Takemiya was the founder of NEM and the lead developer in the NEM blockchain technology.

    We are not at all comfortable with this statement that Makoto Takemiya was the founder and lead developer of NEM, especially when Tech Bureau is having an uphill task in trying to establish NEM in Japan.

    Summary of our statements

    The following is an account of what the true story has been with Makoto Takemiya. More can be read in detail in the links provided below.

    • Takemiya was not the founder of NEM
    • Takemiya did not invent, create, nor develop NEM
    • Takemiya did not develop mijin
    • Takemiya was not instrumental in a bank POC
    • Takemiya did not develop any business alliances among Tech Bureau and its partners
    • Scheming with Akitsu Corp.,
    • Closure of Akitsu
    • Post Akitsu - Incorporation of Soramitsu Corp.
    • Damages to Dragonfly
    • Damages to Tech Bureau
    • Damages to NEM

    We hope by issuing this blog and making it public, we can once and for all establish the real facts about Makoto Takemiya and his heinous acts and put this behind us so that we can all move forward.

    Links: English version: Click Here 日本語版: こちらをクリック


  • Log in to reply
     

    Looks like your connection to Cryptocentral was lost, please wait while we try to reconnect.