A protocol generator written by Golang