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 ...
I ended up moving to a testnet to solve this, but the general consensus seems to be that this is caused by the nonce getting messed up by stopping and restarting dev chains.
The fix is to reset the tx history in MetaMask. This can be done by going to settings (you can find that menu by clicking on the generated circle art thing for your account in the upper ...
Using ganache-cli, you can provide a mnemonic using the flag below, in order to produce the same pre-funded addresses and public keys every time you start ganache. The accounts flag just defines the number of accounts that you will create.
-m or --mnemonic: Use a bip39 mnemonic phrase for generating a PRNG seed, which is in turn used for hierarchical ...
web3.eth.Contract() takes a capital C at Contract.
And maybe try with this syntax :
return new web3.eth.Contract(
/* JSON-interface of the Agent contract
this.state.agentInstance // supposing that you store the address of the instance you want to access there.