You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
tim watts 06b48fe99f pep8 style fixes 9 years ago
cmd Remove spurious tmsp_cli.go 9 years ago
example pep8 style fixes 9 years ago
server Conform to new go-wire TypeByte behavior 9 years ago
tests example/js 9 years ago
types RetCodeEncodingError 9 years ago
.gitignore Add .pyc to gitignore; Fix js example 9 years ago
LICENSE Change license format 9 years ago
Makefile Add Makefile 9 years ago
README.md Added link to tendermint.com blog post 9 years ago

README.md

Tendermint Socket Protocol (TMSP)

TMSP is a socket protocol enabling a consensus engine, running in one process, to manage an application state, running in another. Thus the applications can be written in any programming language.

TMSP is an asynchronous protocol: message responses are written back asynchronously to the platform.

Applications must be deterministic.

For more information on TMSP, motivations, and tutorials, please visit our blog post that explains it all.

Message types

AppendTx

  • Arguments:
    • TxBytes ([]byte)
  • Returns:
    • RetCode (int8)
  • Usage:
    Append and run a transaction. The transaction may or may not be final.

GetHash

  • Returns:
    • RetCode (int8)
    • Hash ([]byte)
  • Usage:
    Return a Merkle root hash of the application state

Commit

  • Returns:
    • RetCode (int8)
  • Usage:
    Finalize all appended transactions

Rollback

  • Returns:
    • RetCode (int8)
  • Usage:
    Roll back to the last commit

AddListener

  • Arguments:
    • EventKey (string)
  • Returns:
    • RetCode (int8)
  • Usage:
    Add event listener callback for events with given key.

RemoveListener

  • Arguments:
    • EventKey (string)
  • Returns:
    • RetCode (int8)
  • Usage:
    Remove event listener callback for events with given key.

Flush

  • Usage:
    Flush the response queue. Applications that implement types.Application need not implement this message -- it's handled by the project.

Info

  • Returns:
    • Data ([]string)
  • Usage:
    Return an array of strings about the application state. Application specific.

SetOption

  • Arguments:
    • Key (string)
    • Value (string)
  • Returns:
    • RetCode (int8)
  • Usage:
    Set application options. E.g. Key="mode", Value="mempool" for a mempool connection, or Key="mode", Value="consensus" for a consensus connection. Other options are application specific.