In recent years, the number of IoT devices has increased substantially. One of the main concerns is the interaction with high availability. While peer-to-peer (P2P) technology has been used to achieve high availability by software running in P2P hardware, a single software still acts as the center for the interaction. If the software has bugs or is out of service, all devices are affected. Aiming at this issue, this paper proposes a fully decentralized model as a high-availability solution, in which P2P software runs on a P2P hardware environment. P2P software is a set of independent software from respective participants (IoT devices) that can work cooperatively without centralized software. We use blockchain as a P2P platform because it has P2P nodes and a trustless environment, so the P2P software in this paper is P2P smart contracts. To pair cooperative smart contracts, each P2P smart contract has requirements on other smart contracts. If several smart contracts matches the requirements mutually, they are treated as a work group (a topic), and then they process each other’s requests within that group. When a single smart contract fails, the paired P2P software can be re-selected, resulting in high availability. Simulation results show that the proposed model can effectively eliminate the impact of the failure of any single smart contract.