useful eosio contract code
capi_checksum256 fscdex_contract::tx_hash(){
size_t tx_size = transaction_size();
char buff[tx_size];
size_t read = read_transaction(buff, tx_size);
capi_checksum256 h;
sha256(buff, read, &h);
return h;
}