smart contract and DApp architecture