Security guidelines for smart contracts