I am new to blockchain and smart contract technology.
I want to understand the overall flow on how decentralized marketplace work. Let's say we have a decentralized marketplace built using smart contracts for listing creation, escrow, etc. Questions:
- I assume all the listings are stored on Ethereum blockchain. If so, does that mean anyone who wants to view the listings (clients) need to have Ethereum client running on the machine? Is there a way to not have Ethereum client running on the machine and be able to browse the listings?
- What's the difference between building a decentralized marketplace on blockchain vs. P2P approach?
One approach is using a blockchain directly. These markets will place product listing information directly into a blockchain, allowing buyers to reference the blockchain and purchase from there. Another method is to create a network of nodes that all talk to each other directly and don’t reference a blockchain, similar to BitTorrent. Original article
- Using smart contracts to achieve decentralized marketplace, is it blockchain approach or P2P approach?
- With P2P approach, does that mean you rely your network to run the node and keep the system up? Or anyone with Ethereum node running can do the same?
- How do you achieve "searching" if the listings' data are decentralized stored on the blockchain? I see Augur and OpenBazzar have searching function. How did they achieve this?
- If I build API for interacting with smart contracts, does that mean my API is not decentralized because it'll be hosted on some server such as AWS or Azure? Will this API be talking to one of the node we hosted on our own?
- How does a web client interact with the marketplace? Web client makes API requests then API interacts with smart contract on the node hosted by me?
Any help is greatly appreciated!