I'm working on an API that sends multiple transactions out from one wallet.

I realized I cannot do it without creating a smart contract the way Ethereum is structured which is actually quite a great thing.

But I am facing a dilemma, do I have to learn Solidity in order to create smart contracts?

I got myself up to speed with Javascript & Nodejs and a bunch of other frameworks just very recently with nearly zero coding background. I was able to implement a batch transaction API for Monero and it was quite easy using only Javascript and the RPC daemon. The way Monero is set up actually, you're required to batch all your transactions into one as Monero locks your balance once a transaction is sent out so it would be impossible to send more than one consecutively in a short amount of time.

I'm seeing it is not quite as easy with Ethereum and the conclusion I'm making so far is I am going to have to learn a WHOLE new language just to create the smart contract needed to send multiple or batch transactions to my clients.

Is this true or can I create smart contracts using just Javascript / Nodejs ?

  • No, you cannot implement smart contracts with Javascript / Nodejs. Those are used for implementing the "client side" in this case (i.e., a process which can deploy and/or communicate with a smart contract). You'll need to learn Solidity. On the good-news part, this is a pretty simple language AND no need to handle things like concurrency / multi-threading / OS scheduling / etc. Mar 26, 2019 at 11:13

3 Answers 3


Solidity is not the only programming language that can be used to write smart contracts for Ethereum, and in order to be able to write Ethereum smart contracts you probably have to learn at least one such language. Unfortunately, Javascript is not one of them.

Though, writing smart contract by yourself is not the only option you have. There are lots of open-source smart contracts, and once your requirements are simple and generic there are good chances to find one that will fit your needs.

You may also pay people to develop smart contract for you, or, in case your task is not too boring, somebody may even do this for you for free.

Just describe your requirements as a question here, put some lines of Solidity code so people will see that you've tried something before asking, and there are non-zero chances somebody will just post desired smart contract as answer to your question.


You could write (Ethereum) smart contracts in any language you like, but you'd also need to write a compiler, and deal with any aspects of the language that don't map nicely into the EVM.

The fact that no one has yet done so for Javascript is a likely indication that it wouldn't be a good candidate. (Nor a good use of time, which could otherwise be spent writing a more suitable language from scratch, or learning one of the existing ones... )

For a platform that natively implements its smart contracts in JS, have a look at Lisk or Nebulas. (There are probably others, too.)


Judging by the body of your question and the API you're working on, it looks like you're just trying to send transactions, which is different than writing smart contracts. If you're just trying to send transactions you will not need solidity. You'll need to use web3 or ethers (javascript apis). I recommend using the ethers.js api. This will allow you to send ETH as well as call functions on solidity smart contracts that other people have deployed (if you want to do things like send ERC20 tokens). Smart contracts define the transactions, but the actual function calls can happen in javascript.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.