code: func (tx *Transaction) String() (s string) {
  	if tx.Name != "" {
  		s += fmt.Sprintln("Name:", tx.Name)
  	}
  	if tx.IsSigned {
  		s += fmt.Sprintln("TxID:", tx.TxID)
  	}
  	s += fmt.Sprintln("Timestamp:", tx.Timestamp)
  	if tx.BlockHeight != 0 {
  		s += fmt.Sprintln("BlockHeight:", tx.BlockHeight)
  	}
  	s += fmt.Sprintln("TotalInputs:", FactoshiToFactoid(tx.TotalInputs))
  	s += fmt.Sprintln("TotalOutputs:", FactoshiToFactoid(tx.TotalOutputs))
  	s += fmt.Sprintln("TotalECOutputs:", FactoshiToFactoid(tx.TotalECOutputs))
  	for _, in := range tx.Inputs {
  		s += fmt.Sprintln(
  			"Input:",
  			in.Address,
  			FactoshiToFactoid(in.Amount),
  		)
  	}
  	for _, out := range tx.Outputs {
  		s += fmt.Sprintln(
  			"Output:",
  			out.Address,
  			FactoshiToFactoid(out.Amount),
  		)
  	}
  	for _, ec := range tx.ECOutputs {
  		s += fmt.Sprintln(
  			"ECOutput:",
  			ec.Address,
  			FactoshiToFactoid(ec.Amount),
  		)
  	}
  	s += fmt.Sprintln("FeesPaid:", FactoshiToFactoid(tx.FeesPaid))
  	if tx.FeesRequired != 0 {
  		s += fmt.Sprintln("FeesRequired:", FactoshiToFactoid(tx.FeesRequired))
  	}
  	s += fmt.Sprintln("Signed:", tx.IsSigned)
  
  	return s
  }
docs: // String prints the formatted data of a transaction.