How to setup NEM server / APIs on our own server for a new Project


I have a project requirements in discussion with one of my client. We want to use NEM platform for his next product.

We will be selling some product form his e-commerce website. And one each sell we want to reward our each customer - some XEM coins let say 100 - when he registers that product with our mobile app (this mobile app need to be connected somehow with NEM Platform).

Also, at the end of each month, we will be giving some more XEMs to our customers (we have that condition and logic already decided).

So, I want to know what all NEM components I will require to setup as architecture on our own server and client side (Dashboard for business owner, mobile apps for iOS and Android that customers will use).

Do We need Amazon AWS Server?
How can we relate customers with our NEM Platform using our own set of APIs?

Please share some light on this requirement.


What are your requirements?

  • Your customer will have already generated addresses or you want generate address and integrate (present balance and so on) in your platform?
  • to run your nis node you don’t need special requirements. For example linux server with around 4-8gb ram and avarage CPU should be enough.
  • nis node exposing api call and you should integrate via this api (send transaction, fetch account balance and so on)
1 Like

Thanks for responding. :slight_smile: I have few more questions.

My client has created his own currency with NEM Platform.

If the term addresses is used here for customers, then - our platform will be generating same. So, when a User will register with our app/website - our backend APIs should generate these addresses.

As far as I have understood, we will need 2 servers - one for our backend APIs, website, db and another will have missed node setup. Please confirm.

What different languages options are available for us to build backend? We have expertise in java, node and PHP as backend.

And for mobile app - Does NEM provide APIs for Native Android (java) and iOS (swift)?

1 Like

About NIS.
You can use public nodes or setup your own. It depends on you and use case. For running node above requirements should be ok.

NIS node exposes http API so you can use whatever programming language you want to communicate with API. There are wrappers written for example in PHP or JAVA that helps communicate with API.

If you want import existing addresses you must allow user to import private key from old wallet.

There is also no problem if you want use other mosaic (token) on NEM platform instead of XEM.

Thanks, @CryptoBeliever Can I have some document/white paper that can shed some light about differences/benefits between a Public node and Own Node?

If you want to import existing addresses you must allow the user to import the private key from the old wallet.
— Looks like my apps should go through some Oauth procedure for existing address. Please correct me if I am going in the wrong direction.
Any developer documentation in this reference will be very useful.

And for mobile app - Does NEM provide APIs for Native Android (java) and iOS (swift)?

In house nodes are used mostly for increase availability and to have more control when node is online and when you make upgrades and so on. Node also exposes some set of api (/local/*) that is available only for local server calls.

API is always http. There is no different api for different languages. Available wrappers/sdks can be found here