code: func (n *Node) UnmarshalJSON(raw []byte) error {
  	// TODO: How should we turn back NodeInfo into n.Node?
  	// Ticket: https://github.com/ethersphere/go-ethereum/issues/1177
  	node := struct {
  		Config *adapters.NodeConfig `json:"config,omitempty"`
  		Up     bool                 `json:"up"`
  	}{}
  	if err := json.Unmarshal(raw, &node); err != nil {
  		return err
  	}
  
  	n.SetUp(node.Up)
  	n.Config = node.Config
  	return nil
  }
docs: // UnmarshalJSON implements json.Unmarshaler interface so that we don't lose
  // Node.up status. IMPORTANT: The implementation is incomplete; we lose
  // p2p.NodeInfo.