I have created a private blockchain in my machine and deployed a smart contract in the same. Then I have created a UI using web3. I could add peers to that network and all the peers could get the data from that deployed smart contract but they cant execute any functions in that contract. Whenever I tried to execute a function then the metamask will ask me whether to submit or reject that transaction and when I submit the same it will cause an error that says "rpc error with payload". But it works well in my machine(the machine in which private blockchain was created and smart contract was deployed), the issue is only in the machines which were added as a peer to that private blockchain. So I doubt whether the issue is because no one in the network is verifying that transaction, initiated by the peer machine. Can anyone help me with this??
Try resetting your MetaMask accounts on these specific machines where it does not work.
MetaMask > Settings > Reset Account
This solves weird issues most of the time.