github.com/klaytn/klaytn@v1.12.1/common/hexutil/doc.go (about)

     1  // Copyright 2018 The klaytn Authors
     2  // Copyright 2016 The go-ethereum Authors
     3  // This file is part of the go-ethereum library.
     4  //
     5  // The go-ethereum library is free software: you can redistribute it and/or modify
     6  // it under the terms of the GNU Lesser General Public License as published by
     7  // the Free Software Foundation, either version 3 of the License, or
     8  // (at your option) any later version.
     9  //
    10  // The go-ethereum library is distributed in the hope that it will be useful,
    11  // but WITHOUT ANY WARRANTY; without even the implied warranty of
    12  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    13  // GNU Lesser General Public License for more details.
    14  //
    15  // You should have received a copy of the GNU Lesser General Public License
    16  // along with the go-ethereum library. If not, see <http://www.gnu.org/licenses/>.
    17  //
    18  // This file is derived from common/hexutil/hexutil.go (2018/06/04).
    19  // Modified and improved for the klaytn development.
    20  
    21  /*
    22  Package hexutil implements hex encoding with 0x prefix.
    23  This encoding is used by the Klaytn RPC API to transport binary data in JSON payloads.
    24  
    25  Encoding Rules
    26  
    27  All hex data must have prefix "0x".
    28  
    29  For byte slices, the hex data must be of even length. An empty byte slice
    30  encodes as "0x".
    31  
    32  Integers are encoded using the least amount of digits (no leading zero digits). Their
    33  encoding may be of uneven length. The number zero encodes as "0x0".
    34  
    35  Source Files
    36  
    37  `hexutil.go` has functions to provide hex encoding and decoding.
    38  
    39  `json.go` implements functions of encoding/TextMarshaler, json/Marshaler and json/Unmarshaler.
    40  */
    41  package hexutil