transaction key generation implemented