code: func (n *Node) MarshalJSON() ([]byte, error) {
  	return json.Marshal(struct {
  		Info   *p2p.NodeInfo        `json:"info,omitempty"`
  		Config *adapters.NodeConfig `json:"config,omitempty"`
  		Up     bool                 `json:"up"`
  	}{
  		Info:   n.NodeInfo(),
  		Config: n.Config,
  		Up:     n.Up(),
  	})
  }
docs: // MarshalJSON implements the json.Marshaler interface so that the encoded
  // JSON includes the NodeInfo