0

I really need to have more than one node to test my smart contract. I'm using remix and i also installed ganache, however, ganache doesn't allow me to have more than one node as I hoped for... I have this contract where I have two roles:

constructor() public{
    initiator = 0x9D565D6b14AfbCb57C8C833a9832c7c22879151C; //rentACar
    executor = msg.sender; //client

For testing purposes, I need to have one node representing the rentACar role an another representing the client role. How could I achieve this? Will forking work? How to fork Ethereum from the current state?

1 Answer 1

1

Why do you need two nodes ? Are two different accounts, one for the "initiator" and the other for the "executor", not sufficiant ? Nodes validate transactions, they don't play a business role in your smart contract.

To answer your question, if you want several nodes you have to build your own private blockchain using clients such as Geth or Parity, and then create as many nodes you want.

6
  • I need to mimic a real-world execution for educational purposes. Would it be realistic for the rentACar to share the node with its client? For what I read about ethereum they each would have their own node @clement Aug 6, 2020 at 11:59
  • Now I see you said: "Nodes validate transactions, they don't play a business role in your smart contract." but I should test my smart contract in a distributed environment, otherwise I will not be able to infer any conclusions or am I missing something? @clement Aug 6, 2020 at 12:06
  • What do you want to achieve ? Generally, when different entities of a business need to own their own node, they use a private consortium blockchain with a Proof-of-Authorithy consensus algorithm. This configuration is widely used in the banking system for exemple.
    – clement
    Aug 6, 2020 at 12:10
  • My contract mimic the transactions between a client and a rentACar that will rent a car to the client. So I have the depositPaying transaction, the carTaking transaction, the carReturning transaction, and the invoicePaying transaction. I'm developing this to my thesis, so I will have to measure results and I think it will only make sense if I have a distributed environment, where each of these entities has a node, but I'm afraid I miss understanding some concepts of ethereum... What are your thoughts @clement ? Aug 6, 2020 at 12:28
  • 1
    You should definitively use several nodes for your thesis to mimic the main network. For this you can set up your own private blockchain or use a public testnet (Ropsten, Rinkeby, etc). However, your business entities should not own the nodes. Nodes are ran by external entities which verify for you the transactions. For exemple, when you do a ETH transfert, or interact with contract on the mainnet, you don't own the node, right ?
    – clement
    Aug 6, 2020 at 12:43

Your Answer

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

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