Decentralized applications and smart contracts running on Ethereum have been widely applied in many fields, such as finance and logistics. On the one hand, the number of smart contracts surges. On the other hand, smart contracts often carry million dollars. Once there is a severe vulnerability in a smart contract, huge losses may occur. Detection tools like Oyente and Mythril were developed for vulnerabilities in smart contracts. However, many of these tools many detection tools do not use intrinsic features in the contract, resulting in ineffectiveness in the detection. In addition, many tools rely on symbolic execution and lack automation in the detection, resulting in inefficiency and in incapacity in vetting huge number of emerging smart contract on Ethereum. In our work, we are motivated to enhance the effectiveness and efficiency of vulnerability detection in contracts. First, we use opcodes as static features and use bigram to build the opcode feature space that is further optimized with Mtfidf. Second, We use deep learning algorithms namely, CNN, LSTM, CNN-BiLSTM, and ResNets, for the smart contract vulnerability detection. Extensive experimental results based on real-world smart contracts show that our methods are promising. Mtfidf significantly improves the detection performance. The best detection performance with ResNets reaches 82% in terms of Macro-F1.