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

  • #### **100% original codebase XEM is the currency of the NEM platform**

    **Important Links:**




    **IRC #ournem:**


    **Social Media:**











    ** Bter:**




    **Source Code:**

    **NIS API Documentation:**

    **NCC API Documentation:**

    **Technical Reference:**

    **Development Contract:**

    **NEM Drive:**


    **Nembex - Block Explorer/Node Monitor:**

    **Blockexplore- Block Explorer/Rich list:**

    **Node Explorer - Node Explorer/Node Monitor :**

    **Interactive Node Map/Resource Links :**

    #### **Recent Updates:**

    - Please update to version 0.6.43 or later. A fork came at block 199,800 bring M-of-N multisig managed on chain.

    - Late redemption is finally [over]( and all funds have been [dispersed]( to initial stake holders including sock puppet protests and late redeemers.


    **Consensus Mechanism:** Proof-of-Importance

    **Genesis Date:** March 31st, 2015

    **Block Time:** 1 minute

    **Available/Total Supply:** 8,999,999,999 XEM

    **Block Reward:** N/A (transaction fees only + node rewards)


    You can download the NEM software at [](

    **What is NEM?:**

    NEM is 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 an Eigentrust++ 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 finally launched on March 31, 2015.

    **Watch our introductory video:**



    - **NEM** is built 100% from scratch (not a fork of any existing project)

    - **NEM** is built with test-driven development

    - **NEM** uses innovative Proof-of-Importance algorithm: first reputation based blockchain algorythm

    - **NEM** improves different features of POW and POS coins, being more efficient and environmentally friendly

    - **NEM** one minute average block times

    - **NEM** is the first crypto with delegated harvesting

    - **NEM** is the first with localized spam protection

    - **NEM** is the first with Eigentrust++ peer reputation management

    - **NEM** is the first editable m-of-n multisig with blockchain based alerts

    - **NEM** offers encrypted, unencrypted and hex messaging

    - **NEM** is easy to install with a one click installer

    - **NEM** zero monetary inflation (fixed supply, all 9 billion coins released at launch).

    - **NEM** relatively large egalitarian distribution

    - **NEM** will offer a mobile wallet for both iOS and Android (coming soon)[/size]

    **What is POI?**

    **POI** is the consensus algorithm used in NEM to determine who will calculate the next block. An account's importance is determined by how many coins it contains and the number of transactions made to and from that account. POI is different from other initiatives which use a fee-sharing model that does not take into consideration one's overall support of the network. In some proof-of-stake systems a person only needs to have large amounts of coins to form a block; however, in NEM the transaction amount as well as support of the network become a factor. This has been designed to encourage users of NEM to not simply hold NEM but instead actively carry out transactions within the NEM ecosystem.

    **Roadmap to V1**

    - Completion of all the features in the existing wallet

    - Coloured Coins

    - Business Rules (a.k.a. Smart Contracts)

    - Decentralized Asset Exchange

    - Integration of multisignature into the AE and Business Rules

    - Snapshotting for quick syncing of nodes

    **Need Help?**

    Please visit our

    Or take a look at our tutorial here :

    **Starter NEM Tutorials:**

    [Import a Private Key & Access Your NEM stake](

    [NEM Quick Start Guide. Running the Wallet Without Syncing a Chain](

    **Installation Tutorials:**

    [Windows/Mac Installation Guide](

    [Windows Installation Guide (standalone)](

    [Mac Installation Guide (standalone)](

    [Ubuntu Installation Guide (standalone)](

    [How to Install Java 8 (64 bit) on Windows](

    **Misc Tutorials:**

    [How to Find, Export or Delete Your Wallet and Address Book File](

    [How to Remove Old NEM Software Versions](

    [How to Delete Your Local Copy of the Blockchain](

    [How to Import the Database File Provided by Developers](

    **Advanced Features Help:**

    [How Local and Delegated Harvesting Works](

    [How to Connect to a Remote Server](

    [How to Use Multi-signature Accounts](

    [How to Use Delegated Harvesting](

    [How to Make Your Node Name Appear in Color on the NEM Block Explorer](

    [Easy Configuration Guide (opening port 7890)](

    [Setting up the Testnet](

    **NEM Core Developers:**

    **- Jaguar0625**

    **- BloodyRookie**

    **- Gimre**

    **- Makoto**

    **- Thies**

    **NEM Core Marketers:**

    **- Makoto**

    **- Rockethead**

    **- Kodtycoon**

    **- Jabo38**

    **- Mixmaster**

    **- Ronel**

    **NEM News:**

    - [Coindesk, Mijin, a Permissioned Blockchain Platform, Plans to Reduce the Cost of the Banking System by up to 1,000% by the End of 2018](

    - [Let's Talk Bitcoin #247, Understanding the New Economy Movement](

    - [Coin Telegraph , Proof-of-Importance: How NEM is Going to Add Reputations to the Blockchain](

    - [Coin Telegraph, NEM Launches, Targets Old Economy with Proof-of-Importance](

    - [Coin Telegraph, Altcoin Digest: 10 Coins That Can’t Be Neglected ](

    - [Bitcoinist, NEM: New Economy Movement](

    - [NEM: New Economy Movement](

    - [Yahoo Press Report, Cryptocurrency NEM Gears Up To Change How Trade, Commerce And Finance Is Transacted](

    - [Motherboard, This Cryptocurrency Doesn't Want to Beat Bitcoin, It Wants to Beat the Economy ](


    - [News Wire Press Release, Bitcoin Alternative NEM (XEM) Officially Launches with 100% Original Codebase Cryptocurrency](

    - [Allcoinsnews, NEM Q&A – Original, Tested Blockchain Platform, Proof-of-Importance, “Change the World, Forever” Tech](

    - [Coin Telegraph, NEM: ‘Right Now We Have the Best Designed Blockchain Platform in Existence’ ](

    **Extra Links:**

    **Community Fund Proposal:**

    **Node Rewards Proposal :**

  • admins

    trouble with Markdown html? send text content at [email protected]

  • @jabo38 I understand that the intial distribution was done between only 1500 people. Is this not concerning to you?

  • Hi Ben, 1500 is actually one of the best initial distributions I have ever seen in a blockchain. Are there any blockchains that have a better distribution? For instance a conservative estimate of Bitcoin is that 1% owns 75%, and some people say 1 person alone owns 1%. Here is an older link, but still fairly relevant explaining about Bitcoins distribution. Even the richest dev (NEM has many so that helped to split funds) doesn't even own 1%. In NEM you might find the top 1% of accounts don't own a lot. Here is an infographic of NEM distribution taken some time ago but still very representative. As you can see, there are some big exchanges, but over all it looks great. ![0_1451243285272_nem distribution 2.png](

  • The Android and iOS NEM apps are beginning open public testing. There will be a 5000 XEM reward for bugs (of which there are surely still many). Help us get these apps launched in top shape.

  • 5,000 XEM Bounty for finding bugs in the NanoWallet. ... ty/2791/14

    Up to 10,000 XEM Bounties for finding bug bounties in the mobile apps. ... e/1825/109

    75,000 XEM project bounties for making example projects on the NEM blockchain. ... ogram/2822

    5,000 XEM ~ $30
    10,000 XEM ~ $60
    75,000 XEM ~ $450

    NEM is a 2.0 blockchain with advanced on chain multisig contracts, namespaces, assets, and messaging. It is a public chain and paired with its counterpart Mijin which is a private chain that is successful in Japan. The NEM/Mijin combination is the first public/private chain combination.

  • The NEM Blockchain Project, Version 2.0 – Catapult

    NEM, an ongoing open source distributed ledger technology project today released a whitepaper on a private chain that is being developed by Tech Bureau.

    Codenamed Catapult, it shall be a successor and second iteration of Tech Bureau’s much touted Mijin private blockchain technology. It is a complete re-hash of the entire blockchain in C++.

    Further, the platform is re-architected to make use of API gateways, providing superior performance in terms of speed, connectivity, security, extensibility, scalability, and flexibility.

    “Catapult is redefining the blockchain architecture landscape. It not only improves on the utility of the blockchain technology, but it also brings enterprise class design into the otherwise rigid and cumbersome blockchain solutions that we are used to.” – Lon Wong, CEO of Dragonfly Fintech, and a core member of the NEM project.

    The new architecture allows for true permissioning where every user can be permitted or not, to use the blockchain, or just to see her account activities. All existing business rules of an entity can be reused and integrated with the Catapult via its powerful API gateway.

    Further, Catapult is an open system and therefore is a universal standard of, and by itself. Any system can be used to communicate with it, provided it adheres to the standard web design standard.

    This flexibility allows for the Catapult blockchain to not only assume 3 important roles – public permissionless, private partially permissioned, and absolutely permissioned – but also allows it to be interoperable and shareable among different clusters of distributed ledgers.

    “Catapult shall be complemented by Dragonfly Fintech’s solution to interoperate from one blockchain cluster to another seamlessly. Together, our solutions shall put us in the forefront of blockchain technology.” – Takao Asayama, Tech Bureau, Corp.

    As a permissioned blockchain, the Catapult has been internally tested to scale to 3,000 transactions per second. The Catapult shall be released as an open source solution and shall be incorporated into the public chain at some point in the future.

    About NEM

    NEM is an open source blockchain project that started in February, 2014. A project that was developed from the ground up using Java, it is undergoing a second iteration in order to enhance its performance. A peer-to-peer blockchain platform solution, NEM, is designed to work with mainstream industry requirements. A highly versatile solution, the NEM blockchain solution is well suited for the financial industry as well as for general use.

    About Tech Bureau

    Tech Bureau Corp. provides a crypto exchange “Zaif” and a private blockchain product “mijin” utilizing NEM technology. “Mijin” has been tested intensively as a high-throughput ledger engine in various applications and proven its applicability to banking systems.

    About Dragonfly Fintech

    Dragonfly Fintech Pte Ltd, is a Singapore financial technology company. The company provides services for financial instrument transactions in the areas of payment, settlement, and clearing using blockchain technology.


    SOURCE Dragonfly Fintech

  • Export Wallet from NCC to NanoWallet

    More and more attention is being paid to NanoWallet with new features being added to it like Changelly Instant Exchange and the Apostille blockchain notarization service. We plan to make NanoWallet the main supported desktop client in the future, so here is a short tutorial about how to export/import your wallet.

    1) Open your wallet in NCC.
    2) Click on the down arrow next to the lock icon.
    3) Select "Export for Lightwallet".

    1) Enter your password.
    2) You will see a json file pushed to your browser.

    1) Open NanoWallet.
    2) Select "Login".
    3) Select "Import Wallet".
    4) Upload the json file you just got from NCC.

    1) Choose the wallet in the drop-down menu.
    2) You will receive a prompt to update the wallet from a json file to a wlt file.
    3) Enter your password that you used to export from NCC.
    4) Please be patient for a minute while your wallet is upgrading.

    1) After completing step 4, you will see a new wlt file pushed to your browser.
    2) Save that file for a back-up!
    3) You can just login to the account now in the drop-down menu with your regular password.

  • Nanowallet version 1.2.2. released

    NanoWallet has been released in its newest version 1.2.2.

    NanoWallet is a secure, light and fast wallet offering not just transactions and messaging but unique services such as multisig and NEM´s brand new service Apostille. It celebrated its premier release on the NEM blockchain and is the first service offering transferable and split ownership blockchain notarizations and also introduces new updating and messaging services along with the ability to make a QR to pair with a notarized product so that it can be easily tracked, updated, and messaged.NanoWallet also improved its account, mosaic, and namespace explorer. And lastly, you can now make an account on NanoWallet and export it to a mobile via QR.

    The Changelog includes:

    -Namespaces & Mosaics explorer

    -Accounts explorer

    -QR to export an account to android & Ios

    -New Apostille certificate

    -Nty data separated by network in local storage

    -Apostilles are private by default

    -User’s Apostille history moved in service page

    -Ring on confirmed and unconfirmed transactions (Same as lightwallet)

    -Japanese and Polish translations

    -Switch for mainnet fee fork

    -Improved comments of Utils and Services for jsDoc

    -Minor fixes and design

  • NEM sponsors Inside Fintech, Seoul 8-9 December 2016

    NEM is a Gold Sponsor of the 2016 Inside Fintech event in Seoul.

    The core team member of NEM Jeff Mcdonald announced that NEM sponsors this year the Inside Fintech conference & exhibition in Seoul (8-9th Dec 2016).Rene Bernard, president of the NEM Association of Malaysia will speak for 45 minutes about NEM and its unique features, in particular “Apostille”.

    Session title

    Apostille – powered by &

    Branded, Certified, Transferable, and Updatable Blockchain Notarizations

    Session Summary

    You may have heard of KYC. Let’s talk about KYO – Know Your Object. The “Apostille” project allows for flexible notarization, certification, ownership tagging and much more. Assets become live objects on the NEM and Mijin blockchains.

    About Rene Bernard

    Mr. Rene Bernard

    President of the NEM Association of Malaysia & International Tech EntrepreneurMember of ISACA Malaysia, Cybersecurity Expert, Certified Bitcoin ProfessionalRene has been an international tech entrepreneur since 2002. He studied Business Engineering in Germany and currently runs e-commerce businesses serving multiple markets and continents. Since 2009, he has been focusing on cybersecurity and IT system administration – and since 2011 he has been a cryptocurrency and blockchain tech enthusiast.Combining his business and the tech backgrounds, he joined the NEM team in 2016. Rene is a Certified Bitcoin Professional (CBP) and the president of the NEM Association Malaysia, a non-profit bringing forward the development and adoption of blockchain technologies.

    About Apostille

    Branded, Certified, Transferable, and Updatable Blockchain Notarizations

    For centuries people have relied on governments to be the authority and certifier of notarizations, often with inefficient systems. With the blockchain’s invention, a more efficient, cost-effective and quicker system can be administered. Blockchain-based notarizations have the option to be certified by third parties and can be branded, transferable, and updatable. These have many use cases such as making property titles or digital blockchain licenses or combating counterfeit products, identity fraud, and more. We will discuss how Apostille offers these working solutions and provide a live demonstration using the NEM and Mijin blockchains.

    About Inside Fintech Conference & Expo

    The Inside Fintech Conference & Expo explores Fintech 3.0, including Blockchain technology and other decentralized solutions for financial processes, and its impact on the global financial ecosystem. Hear from the finance industry’s most forward thinking individuals as they seek to leverage advances in technology to improve payments, investment strategies, mobile banking, navigate the world of regulation, and more. We’ll explore a unique chemistry between Fintech entrepreneurs, investors, bankers, and governments across Asia and the rest of the world.


  • NEM’s next generation core “Catapult” unveils power in live environment test


    NEM’s next generation core (Codename “Catapult”) unveils its
    power for productive use – confirmed in a live environment with >10
    Million accounts

    TOKYO –  Sakura Internet Inc. (SI),Tech Bureau Corp (TB), and Arara Inc.(AI), recently collaborated and performed extensive tests on the Catapult Blockchain solution.

    The Catapult blockchain solution which is being developed by TB based on the all-powerful NEM blockchain technology, is a second iteration of the mijin private chain solution. It is an enhancement and a complete overhaul of the mijin solution to give a superior performance designed for the financial industry.

    More information can be found at

    Catapult in Real Life Testing Condition

    Tests have been carried out by the three parties so that AI can evaluate to see if this solution is suitable for their requirements to be used for digital money transfers. The results were encouraging. The tests had been carried out based on the following scenario:

    1. 10.8 million accounts
    2. A sustained pump of transactions for 1 hour from these 10.8 million accounts to a sink account (in a “many to one” stream) simulating a real life condition
    3. 3 nodes were made to receive this transactions randomly to represent different touch points for these transactions
    4. Short block time of about 15 seconds, so that transactions can be confirmed quickly

    The setup of the test environment was based on the following conditions:

    1. 3 nodes were located in the same geography
    2. The nodes were located in the cloud provided by SI
    3. Each of the 10.8 million accounts was assigned a micro value of a token so that they can each send the transactions into the receiving account in series
    4. 2 nodes were to be brought down for 2 minutes to stress test the system
    5. Proof of Stake consensus algorithm was used (As there was no need to compete for the so-called “harvesting” of transaction fees)
    6. The whole transaction experiment was to be completed within an hour, in other words, maintaining a minimum average 3,000 transactions per second (tps).

    An application was written to sequence the transactions in a series of constant stream of transactions from each of the 10.8 million accounts. The results obtained were very encouraging. The average transaction rate came to 3,085.77 tps completing the experiment in just under an hour. It hit a peak of 4,142 tps.

    When two of the nodes were cut off for 2 minutes, the system continued to run. When they were re-connected back to the network it took a mere 3 minutes to synchronise. There were no signs of failures nor forkings.

    At the end of the experiment consistency was checked to ensure that all the transactions were processed. The sink account showed that there were 10.8m transactions and there were no missing transactions.


    The tests appear to meet the requirements as specified. There were no reported inconsistencies nor failures. The tests passed all requirements and the solution appears to be suitable for commercial production. The benchmark set was high at 3,000 tps and the solution passed the test.

    Future developments

    Further tests will be done in the very near future. These will include tampering and penetration tests. Additionally, tests will be carried out in geographically dispersed nodes which will include Tokyo and Hokkaido regions as well as SI’s data centre at Ishikari.

    About Tech Bureau

    Tech Bureau Corp. provides a crypto exchange “Zaif” and a private blockchain product “mijin” utilizing NEM technology. “Mijin” has been tested intensively as a high-throughput ledger engine in various applications and proven its applicability to banking systems.

    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. Furthermore it also features an integrated P2P secure and encrypted messaging system, multisignature accounts and an Eigentrust++ 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.

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

    NEM / mijin

    January 19th 2017


  • Creating a Testnet Faucet for XEM and Mosaic Assets

    I have created a faucet for the NEM testnet. Luckily, there was already some information about NEMJapanese, so I was able to start quickly to make the faucet. Thank you to the contributors who translated the information and this blog.

    Let me explain about the NEM testnet and its faucet.

    What is the NEM Testnet?

    It is a peer-to-peer (P2P) network where developers “test” their programs using NEM virtual currencies. Most virtual currencies have an independent value so developers have some risks with testing new apps on the main network. Furthermore, there are some additional chances of other difficulties that means we could effect others on the mainnet.

    Since the differences between the testnet and mainnet are only the value of the coins and strength of nodes, programs working on the main net can also work on testnet in the exact same way. And NEM has a more complicated structure with more options than Bitcoin or Counterparty so I strongly recommend that you confirm and test the behavior of your program on testnet before running it on the mainnet.

    What is the NEM Testnet Faucet?

    It is a faucet by which you will get test XEM (the base currency on NEM) for the testnet. NEM has an ideal environment for developers because there is already a testnet open to everyone and developers are free to run their own node. But before you had to ask the NEM developers to send test XEM in order to run tests. It was inconvenient and slow, so I made the NEM Testnet Faucetbounties program to build a faucet.

    How to use the NEM Testnet Faucet?

    It’s very easy.

    Please remember that a testnet address starts with “T”. (I recommend the using the NanoWallet for testing purposes.)

    1) Go to this website: 2) Write down your testnet address in the “NEM Address” box 3) Write down any message in the “message” box (Please make a funny one!) 4) Confirm an authentication process via reCAPTCHA and click the “Click!” button

    Then you have finished the process and in addition to the test XEM, you’ll get a randomly selected Mosaic asset as well.

    nfortunately, if you create a Mosaic, you need 5000 XEM. It’s hard to
    click the faucet 50 times, so I will plan to make another way (or
    contact the NEM developers).

    How to use SBM Faucet (SBMF)?

    I also made a faucet for Mosaic assets. SBM stands for Small Business Mosaic, and the amount of it is limited 10,000 and it cannot be divided.

    1) Send 10 XEM to “TDEK3DOKN54XWEVUNXJOLWDJMYEF2G7HPK2LRU5W” with a message 2) Write down twistSBMF in a message box

    You should see “Complete!” in the Deposit History section and then you will get a randomly selected Mosaic!

    How to register your Mosaics on SBMF?

    Plus you can register your own Mosaic on the faucet. When your Mosaic is selected, 3XEM on average will be sent to you.

    You should be the creator of SBM and meet the SBM requirements

    1) Send 10 XEM and your SBM to TDEK3DOKN54XWEVUNXJOLWDJMYEF2G7HPK2LRU5W with the certain message below. 2) Write down sbmf,namespace:mosaic,[minimum numbers of your SBMF a once],[ maximum numbers your SBMF a once] in the message box. For example, sbmf,namuyan:namu,10,30.

    You should see “Complete!” in the Deposit History section!

    Your mosaic assets are now mosaics on the SBMF Faucet.

    How to build the faucet

    I used PHP and Mysql and referred to the “NEM NIS API DocumentationNEM関連サイトまとめ”.

    Transaction Type

    There are two types of transactions actually. Version 1 is specifically for sending only XEM, and Version 2 is for sending Mosaic assets including also XEM. I rewrote the functions to class the method, please refer to this Example.

    • timeStamp is not an Unixtime to avoid Year 2038 problem. (It is not certain)
    • type represents the type of transaction. Sending is 257. There are some other transactions for importance, creating a mosaic, renting a namespace, multisig edits, etc.
    • deadline means the term during which transactions exists on mempool.
    • version means a transaction version.
    • signer means a public key of the creator of the transaction.
    Fee Calculation

    This is how I calculate the fee. $amount is the amount of sending XEM. $message is a message. If you don’t want to send any message, don’t bother. $mosaic is to put a detail of mosaic asset into the array.

    Officially the fee calculation is written as: x = how many mosaics you send fee = Max(1, Min(25, x * 900_000 / MosaicSupply) - floor(0.8 * ln(9_000_000_000_000_000 / MosaicSupply * 10^divisibility)))

    But I wrote: $initialSupplybyUnit = $DetailMosaic['initialSupply'] * pow(10, $DetailMosaic['divisibility']); $fee_tmp += round( max(1, min(25, $quantity * 900000 / $initialSupplybyUnit ) - floor(0.8 * log(9000000000000000 / $initialSupplybyUnit ))));

    The official way is not wrong but confuses me. There are two notations on the amount.

    POST function


    Without thinking, I made an error with the POST method (eg. /local/account/transfers/incoming ) error:Content type 'application/x-www-form-urlencoded' not supported

    When you request POST to NIS, it must be “Content-Type: application/json”.

    How To Setup a Faucet

    Please refer to the

    Install(in English)
    1. Download source. git clone

    2. Make a main folder and copy all data of NEM-testnet-Faucet to the folder. mkdir main and cp -r /patt/to/NEM-testnet-Faucet/* /passs/too/main/

    3. Match the authority with * htdocs *. chown -R daemon:daemon htdocs

    4. To fit local environment cron/.htaccess and example/.htaccess. DO NOT ALLOW OTHERS TO ACCESS! If your local IP is, set allow from from

    5. Create NEM account, curl http://localhost:7890/account/generate DO NOT SHOW OTHERS

    6. Write the three account data ($NEMAddress $NEMprikey $NEMpubkey) to config.php.

    7. Create DB account (Use different parameter to Example. I use same parameter of config.php as example) 1、Login as root mysql -u root -p 2、Create database CREATE DATABASE nemdb CHARACTER SET utf8 COLLATE utf8_general_ci; 3、Create user CREATE USER 'nember'@'localhost' IDENTIFIED BY 'obama'; 4、Grant the user access to the DB GRANT ALL PRIVILEGES ON nemdb.* TO 'nember'@'localhost'; 5、Logout exit

    8. Create tables After write down to config.php Example: If makedb.php on htdocs/main/cron/makedb.php, access to http://localhost/main/cron/mak... Check no error output.

    9. Run regularly by crontab. 1、To make a pass of $root_dir of Deposit.php ImageReg.php SBMFaucet.php in main/cron. 2、Get pass to type pwd at main folder. 3、crontab -e 4、Write down followings. (pass is original) 5、*/4 * * * * /opt/lampp/bin/php /opt/lampp/htdocs/main/cron/Deposit.php >/dev/null 2>&1   */5 * * * * /opt/lampp/bin/php /opt/lampp/htdocs/main/cron/ImageReg.php >/dev/null 2>&1   */6 * * * * /opt/lampp/bin/php /opt/lampp/htdocs/main/cron/SBMFaucet.php >/dev/null 2>&1

    10. Register reCAPTCHA, and write Secretkey to function.php on 17 line.

    11. When an error message occurs, please check PASS.

    I would love to receive your kind donations.

    • DonationCPaddress: 1BvRTmPCe47vee2CyrLi9AGeSEcrR2ciM4
    • DonationMonacoin: MSYTEF7t62b9sjXt3oN9JokSjnYkvtcPFx

    The NEM Team would like to thank user Namuyan for creating this blog and project and user Coffetimes for translating it.

  • A Short Announcement From The Foundatio

    Today is the last day of the Chinese Lunar Calendar. 20% of the world’s population will celebrate a traditional family reunion dinner for the next twenty four hours around the globe to usher in the Chinese New Year. In the days of yore, and even today, Chinese will make prayers and offerings to the gods of heaven and earth. Often this is followed with great wishes of health, prosperity, happiness, and good tidings. For a civilisation that has spanned more than four thousand years of evolution, there is much to talk about, but I shan’t go into it here.

    Instead today, I would like to make a special announcement, from a serendipity of events and a moment of rest for me to pen together a short closing message for the lunar year. The Foundation Ltd. was finally set up in December. However, we had to put the constitution and by-laws of the foundation in place. This took quite some time from our busy schedule of meeting the growing interest in the NEM blockchain technology. An earlier announcement of the intentions of the foundation had been put forth here. As such, I shall not delve into it. The by-laws are still in its final stages of completion and we hope to complete that by the end of February, so that we can start to be fully operationalised by March.

    In the meantime, the Foundation has been formally recognised by an agency in the Prime Minister’s department in Malaysia as a high impact technology project. The secretariat of the Foundation shall be housed in their premises for the next couple of years. The premises shall have a lecture theatre, function rooms and conference rooms where we are free to use them to promote our activities. Additionally, we shall soon be setting up a host of servers to help in the development of our services, tests, and applications.

    Sometime later in the year, we hope to get our blockchain solution officially tested and certified in accordance to the International Standards Organisation and hopefully, be the first blockchain to do so. is also going to be represented in the ISO standards committee in Malaysia, one of the 16 countries in the world who has a seat in the formulation of the ISO standard for Blockchain. We hope to be represented in Japan as well as in Europe. This will make the NEM blockchain a strong case as a standard.

    Despite the seemingly uneventful happenings in the NEM community space, we have been working hard everyday. Previously, I have mentioned that NEM is not a typical crypto project. It is a blockchain technology project with a Blue Ocean strategy approach. The intent is to hit the mainstream. Hence, it would be hard for the NEM crypto community to know what is actually happening. The reason being that these mainstream companies and entities would not like their projects to be announced without being firmed up to use our technology.

    NEM has been pretty active in East Asia, particularly in Japan, Malaysia, Korea and China. Together, we have generated more than a few hundred enquiries on our technology. We have interests ranging from central banks (digital fiat currency issuance), financial institutions, share registry and trading, national ID projects, KYC, logistics, IoTs, Robotics, Carbon Credit project (biggest land bank of forest reserve in the world), medical industry, games development, and a host of other industries. I must say that this is most encouraging and our Blue Ocean strategy appears to be working quite well. Just now, we are also beginning to gain traction in Europe with some interests coming from there too. The amount of interest seems to suggest that we are way ahead of many of the competition in the crypto space, especially for mainstream applications. I am confident that we should hit some big projects this year. Our project is multi-prong in its use and therefore cover a wide spectrum of industries.

    As the first President of the Foundation, I hope to lead our NEM blockchain project into a year of reckoning for 2017. Special thanks to the rest of the team at the core and foundation who have been working tirelessly to put great things together! With their continued commitment, I am confident we will set some record this year.

    Finally, may I take this opportunity to wish all the Chinese and East Asian communities here a Happy New Lunar Year.

    Lon WONG

  • Nem Wallet V 0.6.83 Released

  • Nem Creating a Telegram Bot to Monitor a Wallet's Activity

    I created a telegram bot that allows users to get messages when the balance of the wallet changes.

    This can be used for monitoring activity on a personal wallet, or to monitor wallets of certain importance. For instance, one could be interested in the activity of whale wallets.

    The code for the wallet can be found on my personal githubNode.js as a backend, and it uses a couple of dependencies that can be installed directly from Node's package manager. I will go into more detail later.


    The first step in achieving this project was to get familiar with how telegram bots work and getting familiar with the NEM infrastructure and API.

    Luckily Telegram has a quite good API, and their documentation is quite straightforward.

    Starting points are:

    I then immediately created a bot, which can be achieved directly from telegram... talking to the bots' god, BotFather!

    Use the /newbot command to create a new bot. The BotFather will ask you for a name and username, then generate an authorization token for your new bot. The name of your bot is displayed in the contact details and elsewhere. The Username is a short name, to be used in mentions and links. Usernames are 5-32 characters long and are case insensitive, but may only include Latin characters, numbers, and underscores. Your bot's username must end in ‘bot’, e.g. ‘tetris_bot’ or ‘TetrisBot’. The token is a random unique string, e.g., 110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw, that is required to authorize the bot and send requests to the Bot API.

    Please save the token; this is your unique key that your bot will need later on to send messages.

    Given the nature of the project, I wanted to code something that was easy to deploy and use in different environments. For this purpose NodeJs seemed optimal.

    I started looking at packages that would abstract the Telegram API in order to use it within Node, and I found one that looked promising: documentation, and it seemed to be exactly what I needed.

    Needless to say, I was playing around with their examples and sending/receiving test messages on my own telegram account. Once I confirmed that it was working well, I moved on to the second part, getting familiar with NEM API.

    NEM NIS API Documentation is quite detailed and easy to read. I was lucky to be familiar with the main concepts already, although there should absolutely be no problem for newcomers to read through the documentation.

    What one should know is that there are a bunch of nodes out there that process transactions and keep in sync the blockchain. In this blockchain, we can find all the information we want on any wallet.

    There are two approaches to this:

    • Running a node locally and having the full blockchain
    • Connecting to an existing supernode

    Supernodes are special nodes that are usually always available. They get rewards for that, and we can safely rely on them to retrieve information about wallets' balances, using NEM's API.

    A list of Supernodes can be found here:

    Once I picked up a supernode and my wallet address, I dug into the API documentation, and I found out that the API is really simple and it consists in an HTTP GET which returns a json object with all the information we need.

    An example of returned object is:

            "balance": 124446551689680,
            "vestedBalance": 104443451691625,
            "importance": 0.010263666447108395,
            "publicKey": "a11a1a6c17a24252e674d151713cdf51991ad101751e4af02a20c61b59f1fe1a",
            "label": null,
            "harvestedBlocks": 645
            "cosignatoryOf": [ ],
            "cosignatories": [ ],
            "status": "LOCKED",
            "remoteStatus": "ACTIVE"

    The tech savvy could even try retrieving account metadata with an internet browser!

    Connecting all the pieces together

    I now know how to set up a bot, how to retrieve account information, all I needed was actually to code the logic and set up the bot.

    I decided to save the full json object in local, and map it to the user who initiated the chat. Every minute I would query all the wallets I have saved in local, and check if the balance has been changed.

    If so, a message to the user will be triggered and the new wallet saved in local.

    At the moment we notify only on balance change, but the logic could be expanded to notify also on different triggers.


    The installation procedure is very easy, and it can be done through the following simple steps. Beforehand just be sure to have Node installed for your platform.

    #get the code (if you don't like git you can also download the code in a zip file)
    git clone  
    cd nemtelegrambot  
    #install dependencies
    npm install telegram-node-bot  
    npm install node-persist  

    Configuring the bot:

    In the main folder, there is a file called config.json which is used to parametrize the bot. It contains:

      "nis_address": "",
      "telegram_key": "write_your_telegram_key_here",
      "local_port": 7776
    • nis_address is the address of the supernode you want to connect. Unless you have problems, you can leave it as is. Otherwise, you can pick a stable node from
    • telegram_key is the key that BotFather gave you when you registered your new bot
    • local_port is the administration port of the bot. If you log in from your browser to localhost:local_port you will be able to see the logs of the bot. If you are running multiple instances of the bot, you will need to choose a unique port per instance.
    • *

    Running the bot

    running the bot is as simple as launching:

    $> node index.js

    Using the bot

    The bot supports three commands:

    • /help
    • /register
    • /balance

    /help will prompt you with the following message:

    This bot registers a NEM wallet and notifies you when the balance changes  
     /register to register a new wallet
     /balance to see your current balance

    Time to register a new wallet with the /register command!

    [7:45:53 PM] NemNotifier:
    Send me the wallet you'd like to register  
    [7:43:19 PM] Davide:
    [7:45:56 PM] NemNotifier:
    Registered wallet: NAYFRF-6C2DZK-KEQEE2-SNVBBD-G354SY-F4XHMY-JDFP  

    A note should be added. The wallet has to be in the correct format, with the dash separators as in the example above.

    What helped me was also to look up the wallet I was using in Nembex, the official block explorer to check the blockchain.

    For example for this wallet you can see all the information you need at the following address:

    Let's now query our wallet with /balance !

    [7:48:40 PM] Davide:
    [7:48:41 PM] NemNotifier:
    registered wallets -> NAYFRF6C2DZKKEQEE2SNVBBDG354SYF4XHMYJDFP balance: 15809.1  

    In case the balance on the account you are monitoring changes, you will receive a message that looks like:

    [17:48:41PM] NemNotifier:
    Balance for [NCPAYOUTH2BGEGT3Q7K75PV27QKMVNN2IZRVZWMD] was [5809.1] and now it's [15809.1]  

    That's all for now!

    The NEM Team would like to thank Davide Benato for writing this blog.

  • LuxTag, more then just a Anti-Counterfeit solution

    Initially, “LuxTag” was a working title for our invention which we created for the pitch competition of FF17 at the Fintech Payments Conference in November 2016. We had luxury watchmakers in mind — addressing their pain points of their products being faked, stolen and often illegally traded in the second-hand market.

    Our team had strong tools available comprising manifold business backgrounds, IT and Javascript/HTML/CSS knowledge. On top of these, the founders have deep going understanding of Blockchain Technology and they play active roles in the NEM Blockchain Technology project.

    We had decided to create a blockchain-powered anti-theft, anti-counterfeit solution for the luxury watch industry. And we did.

    Our solution came with a bonus feature, which by now has emerged into becoming a core functionality – the big-data analysis of second-hand market sales and repair or service events.

    We very soon realized that our system is capable of servicing a larger market than “only” the luxury watch sector.

    This is virtually every sector dealing with valuable long-life assets!

    Thinking about heavy machinery, manufactures can tag their products to maintain geographical distribution allocations intact and read service update messages from the blockchain database. The automotive industry can create a Certificate-of-Conformity on the blockchain to certify they genuinely manufacture the vehicle on the one hand and allow the enforcement of ownership transfer to be mirrored in the virtual world on the other hand. Even road tax and insurance status could be maintained on the blockchain appended to the vehicle’s “account on the blockchain”. Road safety and law enforcement agencies can read the information easily.

    Or – imagine a world without fake pharmaceuticals. Hologram stickers have been proven to be imitable too easily.

    Immediately when we realized the powerful potential of our project – we quickly sorted out our patent application for this system and its technical working method.

    Now, we are contemplating between selecting which industry to work with first or to accept a Series A funding in exchange for equity.

    “Now, we are contemplating between selecting which industry to work with first or to accept a Series A funding in exchange for equity.”

    Please read more about LuxTag at or contact us at [email protected]

    Our project uses the NEM Blockchain Technology. Its core allows the mechanisms LuxTag leverages on. You may want to check out NEM, too. Who knows! Perhaps NEM can power your next blockchain startup invention, too?


  • Tech Bureau offers “Mijin” to the blockchain application test with regard to Hitachi solutions’ point management solution, “PointInfinity”.

    ”PointInfinity” is the number one point management solution by national share*1. The objective is to verify the practicality of the function expansion by adopting a private blockchain.


    The “Mijin” blockchain, a product Tech Bureau is continually developing and enhancing, is a private blockchain product whose applicable functionality has been proven as a bank, a microfinance ledger and an electronic money core banking system. All instances have been tested within multiple lines of businesses based on organizational and industry needs/use cases.

    With this specific application test, the large scale point management solution “PointInfinity” will leverage “Mijin” to verify the predictability of the blockchain technology application that has entered into product development and expansion. Hitachi solutions currently has over 150 million members on their point management solution and Hitachi will engage in this proof of concept.  The test started on the 9th of February, 2017.


    Initiative in releasing an advanced point service

    The Ministry of Economy, Trade and Industry has conveyed that point service is one of the fields that will bring social reform through blockchain technology*2. The overall goal is through expansion of dealings with issuers, points will be used similarly to currency. This could, in turn, result in the creation of countless additional service options.

    In this particular blockchain use case, Hitachi solutions will verify the feasibility of “PointInfinity”, through a large amount of transactions and electronic payments on multiple blockchains. In addition, based on the positive result of this test and data analysis, Hitachi solutions will position a plan to enhance its point service model.


    An even higher milestone for “Mijin”

    Tech Bureau’s “Mijin” is proving it’s applicability in cases where it is assumed the actual use of the core banking system that executes a large number of transactions is over multiple locations, or a point service where transactions of many locations are concentrated in one place, and for electronic money and financial services where complicated interest rate calculations are necessary.


    “SAKURA Internet, Arara Inc. and Tech Bureau have succeeded in the operational testing that applies the blockchain model to large-scale electronic money core banking systems”

    “Tech Bureau’s blockchain platform “Mijin” has proven the applicability of the core banking system”

    “Tech Bureau’s blockchain platform “Mijin” has succeeded in experimenting with application of the point system”

    “Infoteria and Tech Bureau have succeeded in a demonstration of private blockchains through the world’s first recording of microfinance core banking data”

    “Tech Bureau’s blockchain product “Mijin”, through Arara Inc.’s third party demonstrations, has proven the applicability of electronic money core banking systems”

    While it is said that blockchain is unsuitable for the high-speed processing of large quantity transactions, Tech Bureau’s “Mijin” has solidified that the core banking system and its strenuous demands is sufficiently up to the task.


    Points management solution “PointInfinity*3

    It is a solution that makes use of an abundance of data-driven results and application know-how. In addition, PointInfinity offers member management and a point (money) management system.  The point management service is low-cost solution and can be implemented in a short period of time. It also offers a high level of security.


    Private Blockchain “Mijin” Tech Bureau, is Crypto-Fintech Lab., which develops software and services based on blockchain technology and cryptocurrency technology. Also, as a founding member of “BCCC”, Japan’s largest blockchain business organization, it is currently putting all its effort behind the popularization of blockchain technology.

    “Mijin” is software that can build a private blockchain site that is possible to use within your business or inter-business, from the standpoint of the cloud or within the data center of one’s company.

    Through an operational test of large-scale electronic money core banking systems, stability was maintained even at times where the test servers took damage, and it succeeded with an average speed of over 3,000 transactions per second and the highest reaching 4,142 transactions being processed with and settled. “Mijin” is being used in such a wide scope, that 311 companies from 15 countries, from financial institutions to electronic money, points, online gaming and logistics, have applied for a demonstration.


    About Tech Bureau

    Tech Bureau is the cryptocurrency and blockchain technology software service and development company that developed Mijin using NEM technology and NEM developer technical know-how as a part of its Crypto-Fintech Lab. Tech Bureau also runs the Bitcoin and cryptocurrency exchange, Zaif ( Blockchain technology related to consulting services are also being provided.


    *1 Source: Fuji Chimera Research Institute, Inc. “2016 next generation card solution, electronic money related business market survey outline”

    *2 Source: Ministry of Economy, Trade and Industry “2015 outline data for a report on infrastructure maintenance (survey of international and domestic trends related to services that use blockchain technology) related to the computerisation and the shift towards a service industry of Japan’s economic system”

    *3 Source: “PointInfinity” is a registered trademark of Hitachi Solutions.


    Press Contact

    Tech Bureau: Fujita

    TEL:+81-6-6533-2230 / E-mail: [email protected]

    from mijin

  • Making the NanoWallet Address Book Module


    NEM is a next generation blockchain platform that is ideal for being used socially. As with any social platform, an address book is essential to keep track of all of one’s contacts. This necessity is why I built an address book for NEM’s NanoWallet.

    The NEM platform provides users with the following types of wallets for safe storage of tokens, which can either be XEM (the main currency on the NEM blockchain) or other mosaic assets.

    • NCC Standalone (NEM Community Client) — This is the standalone client. It is recommended to use this if you want to make a "supernode" or are running a full node. To install and run the standalone version, you will at least need to know how to use the terminal.
    • Nano Wallet — This is the lightweight and remote client. With the NanoWallet, there is no need to install additional software or download and sync a blockchain. Due to the nature of NEM, all requests to the blockchain are securely serviced through supernodes. The NanoWallet was written in JavaScript, allowing it to run on all platforms.
    • Android NEM Wallet - The best and only mobile wallet for the NEM platform featuring transaction notifications, multisignature support, and much more. (iOS coming soon)

    NCC Standalone (nis-ncc-0.6.xx.tgz), the original NEM wallet, includes an address book. The NanoWallet did not have one. Part of the beauty of the NanoWallet is that any developer can add new modules, which is exactly what I have done here.

    This article will show you how I created the Address Book module in NanoWallet. Here’s what the module includes.

    • Creating contacts
    • Editing contacts
    • Removing contacts
    • Sorting list contacts
    • Exporting a list of contacts
    • Importing a list of contacts

    Getting Started

    The first thing a developer wonders if they haven't written a module for the NanoWallet is how to start.

    One great resource for learning how to build NanoWallet modules is a post from Quantum_Mechanics on the forum. If you’re having any issues writing a NanoWallet module, it may be helpful to refer to it.

    First, check to see if you have installed Node.js on your system, and if not, download and install it. It is required to build the NanoWallet.

    Next, download the source code of the NanoWallet from the official repository on GitHub.

    To build the project, open a terminal, go to the root project directory and run the following commands:

    npm install -g gulp-cli  
    npm install  

    Now everything is ready, and you can proceed directly to the development of the module itself.

    Module Development

    Wallet modules are stored in the following directory:


    Our module will be called “Address Book.” All module files have the following directory structure:


    These files may be confusing in what they do at first, so here’s a rundown of what each file does.

    addressBook.config.js - prescribes module configuration. This file is where you specify the following.

    • url - url-address where the module will be available;
    • controller - the controller name, the service module;
    • controllerAs - alias the controller;
    • templateUrl - path to the file, which contains the presentation (html-code) modules;
    • title - the name of the module.
    function AddressBookConfig($stateProvider) {  
            .state('app.addressBook', {
                url: '/address-book',
                controller: 'AddressBookCtrl', 
                controllerAs: '$ctrl',
                templateUrl: 'modules/addressBook/addressBook.html',
                title: 'Address book'
    export default AddressBookConfig;  

    addressBook.controller.js - contains the logic module. Controller module «Address Book» will contain the following properties and methods:

    • contacts - the contacts list stored in the browser's local storage;
    • addContact (), add () - add to your address book new contact;
    • editContact (), edit () - editing a contact;
    • removeContact (), remove () - delete a contact;
    • sortBy () - sort contact list;
    • exportAddressBook () - export your contact list;
    • importAddressBook() — import your contact list.
    import helpers from '../../utils/helpers';  
    import CryptoHelpers from '../../utils/CryptoHelpers';
    class AddressBookCtrl {  
        constructor($localStorage, DataBridge, Wallet, Alert, $location, $filter, $q, $rootScope) {
            this.contacts = this._storage.contacts;
        sortBy(propertyName) { // code };
        addContact() { // code }
        add() { // code }
        editContact(elem) { // code }
        edit() { // code }
        removeContact(elem) { // code }
        remove() { // code }
        saveAddressBook() { // code }
        exportAddressBook() { // code }
        uploadAddressBook() { // code }
        importAddressBook($fileContent) { // code }
        transferTransaction(address) { // code }
    export default AddressBookCtrl;  

    index.js - This file we create an instance of our module with a predefined configuration and controller, given in another file.

    import angular from 'angular';
    // Create the module where our functionality can attach to
    let addressBookModule = angular.module('app.addressBook', []);
    // Include our UI-Router config settings
    import AddressBookConfig from './addressBook.config';  
    // Controllers
    import AddressBookCtrl from './addressBook.controller';  
    addressBookModule.controller('AddressBookCtrl', AddressBookCtrl);
    export default addressBookModule;  

    addressBook.html - This file contains the HTML markup used to display the Address Book interface.

    <div class="col-sm-3 sidebar" style="margin-top: 10px;">  
        <div class="panel panel-default">
            <div class="panel-heading" style="background-color: rgb(68, 68, 68); color: white;border-radius: 0px;">
              <i class="fa fa-chevron-right"></i>
              <span>{{ 'ADDRESS_BOOK_NAVIGATION' | translate }}</span>
            <div class="panel-body">
                <ul class="nav nav-pills nav-stacked">
                        <button type="button" class="btn btn-operations" ng-click="$ctrl.addContact()">{{ 'ADDRESS_BOOK_NEW' | translate }}</button>
                        <button type="button" ng-disabled="!$ctrl.contacts.items.length" class="btn btn-operations" ng-click="$ctrl.exportAddressBook()">{{ 'ADDRESS_BOOK_EXPORT_BTN' | translate }}</button>
                        <a id="exportAddressBook" class="hidden" target="_blank"></a>
                        <button type="button" class="btn btn-operations" ng-click="$ctrl.uploadAddressBook()">{{ 'ADDRESS_BOOK_IMPORT_BTN' | translate }}</button>
                        <input id="uploadAddressBook" accept=".adb" style="visibility:hidden;position:absolute;" import-address-book-file="$ctrl.importAddressBook($fileContent)" type="file">

    Next, add HTML to display the contact list and contact management buttons:

    <div class="col-sm-9 noPaddingLeft" style="margin-top: 10px;">  
        <div class="panel panel-default">
            <div class="panel-heading" style="background-color: rgb(68, 68, 68); color: white;border-radius: 0px;">
              <i class="fa fa-group"></i>  {{ 'ADDRESS_BOOK_LIST' | translate }}
              <div style="float: right; position: relative; display: block;" ng-show="$ctrl.contacts.items.length > $ctrl.pageSize"><button class="buttonStyle" ng-disabled="$ctrl.currentPage == 0" ng-click="$ctrl.currentPage = $ctrl.currentPage-1" style="background-color: transparent; border: medium none;"><span class="fa fa-chevron-left" aria-hidden="true"></span></button><b>{{$ctrl.currentPage+1}}/{{$ctrl.numberOfPages()}}</b><button class="buttonStyle" ng-disabled="$ctrl.currentPage+1 >= $ctrl.numberOfPages()" ng-click="$ctrl.currentPage = $ctrl.currentPage+1" style="background-color: transparent; border: medium none;"> <span class="fa fa-chevron-right" aria-hidden="true"></span></button></div>
            <table  class="table table-bordered table-hover table-striped table-condensed" style="border:1px solid #444;table-layout:fixed;word-break:break-all;">
                <thead style="color:white;">
                        <th style="width: 20%;">
                            <a href="javascript:;" ng-click="$ctrl.sortBy('label')">
                                <i class="fa" ng-show="$ctrl.propertyName === 'label'" ng-class="{'fa-caret-down': $ctrl.revers, 'fa-caret-up': !$ctrl.revers}"></i>  {{ 'ADDRESS_BOOK_CONTACT_LABEL' | translate }}
                            <a href="javascript:;" ng-click="$ctrl.sortBy('address')">
                                <i class="fa" ng-show="$ctrl.propertyName === 'address'" ng-class="{'fa-caret-down': $ctrl.revers, 'fa-caret-up': !$ctrl.revers}"></i>  {{ 'ADDRESS_BOOK_ACCOUNT_ADDRESS' | translate }}
                        <th style="width: 200px;">{{ 'ADDRESS_BOOK_ACTIONS' | translate }}</th>
                <tbody style="background-color:white;text-align:center">
                    <tr ng-repeat="contact in $ctrl.contacts.items | orderBy:$ctrl.propertyName:$ctrl.revers | startFrom:$ctrl.currentPage*$ctrl.pageSize | limitTo:$ctrl.pageSize">
                        <td style="vertical-align: middle;border-bottom: 1px solid #444">{{contact.label}}</td>
                        <td style="vertical-align: middle;border-bottom: 1px solid #444">{{contact.address}}</td>
                        <td class="actions" style="vertical-align: middle;border-bottom: 1px solid #444;white-space:nowrap;">
                            <button type="button" class="btn btn-xs" ng-click="$ctrl.transferTransaction(contact.address)">Send XEM</button>
                            <button type="button" class="btn btn-xs" ng-click="$ctrl.editContact(contact)">Edit</button>
                            <button type="button" class="btn btn-xs" ng-click="$ctrl.removeContact(contact)">Remove</button>
            <div class="panel-body" ng-show="!$ctrl.contacts.items.length" style="border: 1px solid #444;">
                <p style="margin:0;">{{ 'GENERAL_NO_RESULTS' | translate }}</p>
            <div class="panel-footer text-center" style="background-color: #e3e0cf; color: #444;padding:0;">
              <small><b><i>{{ 'ADDRESS_BOOK_MAX_NUMBER' | translate }} {{ $ctrl.pageSize }}</i></b></small>

    This adds modal windows which allows you to add, edit and delete contacts:

    <!-- Add new and edit contact modal -->  
    <div id="contactModal" class="modal fade" role="dialog">  
        <div class="modal-dialog">
            <!-- Modal content-->
            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal">×</button>
                    <h4 class="modal-title" ng-show="!$ctrl.is_edit">{{ 'ADDRESS_BOOK_NEW' | translate }}</h4>
                    <h4 class="modal-title" ng-show="$ctrl.is_edit">{{ 'ADDRESS_BOOK_EDIT' | translate }}</h4>
                <div class="modal-body">
                    <fieldset class="form-group">
                        <input class="form-control form-control-lg"
                               placeholder="{{ 'FORM_PASSWORD_FIELD_PLACEHOLDER' | translate }}"
                    <fieldset class="form-group">
                        <input class="form-control form-control-lg"
                               placeholder="{{ 'ADDRESS_BOOK_CONTACT_LABEL' | translate }}"
                    <fieldset class="form-group">
                        <input class="form-control form-control-lg"
                               placeholder="{{ 'FORM_ADDRESS_FIELD_PLACEHOLDER' | translate }}"
                    <button class="btn btn-success" style="border-radius:0px;"
                            type="submit" ng-show="!$ctrl.is_edit" ng-disabled="$ctrl.okPressed || !$ctrl.common.password.length || !$ctrl.formData.label || !$ctrl.formData.address" ng-click="$ctrl.add()">
                        <i class="fa fa-plus"></i> {{ 'ADDRESS_BOOK_NEW_BTN' | translate }}
                    <button class="btn btn-success" style="border-radius:0px;"
                            type="submit" ng-show="$ctrl.is_edit" ng-disabled="$ctrl.okPressed || !$ctrl.common.password.length || !$ctrl.formData.label || !$ctrl.formData.address" ng-click="$ctrl.edit()">
                        <i class="fa fa-edit"></i> {{ 'ADDRESS_BOOK_EDIT_BTN' | translate }}
                <div class="modal-footer">
                    <button type="button" class="btn btn-default"  data-dismiss="modal">{{ 'GENERAL_CLOSE' | translate }}</button>
    <!-- Remove contact modal -->  
    <div id="removeContactModal" class="modal fade" role="dialog">  
        <div class="modal-dialog">
            <!-- Modal content-->
            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal">×</button>
                    <h4 class="modal-title">{{ 'ADDRESS_BOOK_REMOVE' | translate }}</h4>
                <div class="modal-body">
                    <fieldset class="form-group">
                        <input class="form-control form-control-lg"
                               placeholder="{{ 'FORM_PASSWORD_FIELD_PLACEHOLDER' | translate }}"
                    <button class="btn btn-danger" style="border-radius:0px;" type="submit" ng-disabled="$ctrl.okPressed || !$ctrl.common.password.length" ng-click="$ctrl.remove()">
                        <i class="fa fa-remove"></i> {{ 'ADDRESS_BOOK_REMOVE_BTN' | translate }}
                <div class="modal-footer">
                    <button type="button" class="btn btn-default"  data-dismiss="modal">{{ 'GENERAL_CLOSE' | translate }}</button>

    We still have to write the styles for the module. The main CSS wallet code is contained in the file:


    CSS is used to provide a style for the module as such.

    .address-book-page .panel-default .panel-heading {
        border-bottom: 3px solid #dfa82f;
    .address-book-page .sidebar .nav li .btn-operations {
        width: 100%;
        border-top: 1px solid #444;
        border-bottom: 1px solid #444;
        border-radius: 0;
        margin-top: 7px;
        color: #444;
        background-color: #e3e0cf;
    .address-book-page .sidebar .nav li:first-child .btn-operations { margin-top: 0; }
    .address-book-page .sidebar .nav li .btn-operations:hover { background-color: #dad6bf; }
    .address-book-page .sidebar .nav li .btn-operations:focus { outline: none; }
    .address-book-page .sidebar .panel-body { padding: 10px 0; }
    .address-book-page table th a { color: #FFF; }
    .address-book-page table th a:hover,
    .address-book-page table th a:focus,
    .address-book-page table th a:active { color: #FFF; text-decoration: none; }
    .address-book-page table .actions .btn { border: 1px solid rgba(153, 153, 153, 0.52); background: #E3E0CF; }
    .address-book-page table .actions .btn:hover,
    .address-book-page table .actions .btn:focus,
    #addressBookModal table .btn:hover,
    #addressBookModal table .btn:focus {
        background-color: #dad6bf !important;
        text-decoration: none;
    #addressBookModal .modal-body { padding: 0; }
    #addressBookModal .modal-footer { background: #444; }
    #addressBookModal .modal-footer .btn {
        border-radius: 3px;
        background-color: #FFF;
        color: #333;
        border: none;
    #addressBookModal .modal-footer .custom-pagination { color: #FFF; margin-top: 5px; }
    #addressBookModal .modal-footer .custom-pagination button { opacity: 1; transition: .3s ease opacity; }
    #addressBookModal .modal-footer .custom-pagination button[disabled="disabled"] { opacity: 0.3; }
    #addressBookModal table th,
    #addressBookModal table td { padding-left: 15px; padding-right: 15px; }
    #addressBookModal table th:first-child,
    #addressBookModal table td:first-child { border-right: 1px solid #DDDDDD; }
    #addressBookModal table tr:first-child td { padding-top: 10px; }
    #addressBookModal table tr:last-child td { padding-bottom: 15px; }
    #addressBookModal table th { border-bottom: none; }

    To import the module created in the application, open the following file:


    This contains the following code to import into our module.

    // Import our app modules
    import './modules/addressBook';
    // Create and bootstrap application
    const requires = [  


    As we have seen, the development of modules for the NanoWallet is not too difficult of a task. I hope this article helps someone with creating their own NanoWallet module.

    Have fun designing your own modules! :)

    The NEM team would like to thank Telegram user Delliant for writing this blog.

  • NEM Beta V 0.6.84  mandatory Update 

    There will be a fork at height 1025000 (which is roughly march 15th) where the message size for transactions is increased to 1024 bytes and there are some additional changes that will be explained after the fork will kick in.


    1) Fix for the fork we are experiencing in mainnet: The fork was due to incorrect handling of mosaic levy when more than one block was processed in a row. This was the case during startup but also when syncing. The forks was (probably unintentionally) produced by user mizunashi who was experimenting with mosaics. He will get a good bounty for it.

    2) Maximum message is increased to 1024 bytes. This is part of the upcoming fork and will be available once we passed the fork height.

    3) One bug fix for NCC. NCC was incorrectly displaing a fee of 1 XEM for activating/deactivating remote harvesting. The real fee is 6 XEM.

    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:

    You can start NCC and NIS with an installer from the following link:" class="redactor-linkify-object"> Standalone version:

  • Hitachi and Tech Bureau building NEM-based blockchain platform in Japan

    Hitachi, one of the biggest Japanese multinational conglomerate companies has partnered up with Tech Bureau to use the NEM-based Mijin Blockchain platform for Hitachi’s point management solution “PointInfinity.” See here for more information about PointInfinity..

    The framework of the project “PointInfinity” is to allow merchants to deploy point-based and electronic money managements systems, wherein they can design their own membership programs and Point of Sale (“PoS”) software for loyalty programs and special offers.

    Hitachi’s solution for managing sales particularly popular with restaurants, cafes and shopping outlets offering customized services, coupon and loyalty program points. Tech Bureau and Hitachi plan to implement blockchain Mijin platform in the near future to autonomously process loyalty points and manage electronic money settlement platforms within a more secure, transparent, efficient and immutable ecosystem.

    Developers of Mijin state:

    “With this specific application test, the large scale point management solution “PointInfinity” will leverage “Mijin” to verify the predictability of the Blockchain technology application that has entered into product development and expansion. Hitachi Solutions currently has over 150 million members on their point management solution and Hitachi will engage in this proof of concept.”

    “Local currency is supposed to be used for substituting settlement with legal currency, and high availability is required accordingly. Higher availability may be required for local currency than for loyalty point services. In this respect, Blockchain are effective in that they can build and operate more stable systems,” a report from the Nomura Research Institute contracted by Japan’s Ministry of Economy, Trade and Industry (“METI”).

    METI had mentioned NEM and mijin as significant players in the Blockchain ecosystem already in April 2016 in their publication “Survey on Blockchain Technologies and Related Services”.

    Tech Bureau further explained:

    “Through an operational test of large-scale electronic money core banking systems, stability was maintained even at times where the test servers took damage, and it succeeded with an average speed of over 3,000 transactions per second and the highest reaching 4,142 transactions being processed and settled. Mijin is being used in such a wide scope, that 311 companies from 15 countries, from financial institutions to electronic money, points, online gaming and logistics, have applied for a demonstration”

    Such support from the Japanese government and the Ministry of Economy and Trade allows Hitachi and Tech Bureau to fully concentrate on the development of an environmental-friendly, efficient solution, and foster good cooperation between state agencies and the mentioned companies in the future.

    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


    Muhammad Yafi

    Coordinator at NEM Association of Malaysia and NEM Foundation.

Log in to reply

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