Being "peer to peer" yet "free from cheating" is a very hard problem. For a long time, this was thought to be impossible, but modern mathematics has a function called a "zero-knowledge proof" that may let you implement certain algorithms without being able to predict or cheat the outcome. The best-known implementation of this is the blockchain currency ZCash, which uses "ZK-Snarks" as a unit of currency. (ZK stands for "Zero Knowledge.')
That being said, the mathematics for this is advanced, and the kinds of algorithms you can implement are limited, so this is probably not a solution to your problem. In general, no, you can't implement gambling (especially for money) without a central server that's not accessible to the players. Obviously, casino gambling websites and services exist, and one of the services they provide is the trust that other players aren't cheating. (Whether the house is cheating or not is of course up for debate ... and the reason why real-world casinos are strictly regulated in the real world.)
The least bad option for you is probably to write your gambling system to determine "the next card" using some random function that you can't predict before you make a decision. One obvious platform for this may be the Ethereum block chain -- if players make a move on turn T, the block chain hash of turn T+1 could be used as a seed for a random generator. However, black-jack still has the problem of necessary hidden state, because if the dealer shows an ace, you have to check whether there's a dealer blackjack or not. You may be able to avoid this by explicitly modeling the resolution of whether the hidden card is a 10 or not, but not exactly what it is, but this ends up being quite murky.
In short: For gambling, you need a "house" (secret server,) and you need the players to trust the house. (Whether playing for money is legal in your jurisdiction, a good idea, can be implemented, etc, is a totally different question, which this is not the right forum to answer.)