solsha3

package module
v0.1.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 15, 2020 License: MIT Imports: 12 Imported by: 2

README


logo


go-solidity-sha3

Generate Solidity SHA3 (Keccak256) hashes in Go.

License Build Status Go Report Card GoDoc

This package is the Go equivalent of require('ethers').utils.solidityKeccak256 NPM module.

Install

go get -u github.com/miguelmota/go-solidity-sha3

Documentation

Documentation on GoDoc

Getting started

Simple example:

package main

import (
	"encoding/hex"
	"fmt"

	"github.com/miguelmota/go-solidity-sha3"
)

func main() {
	hash := solsha3.SoliditySHA3(
		// types
		[]string{"address", "uint256"},

		// values
		[]interface{}{
			"0x935F7770265D0797B621c49A5215849c333Cc3ce",
			"100000000000000000",
		},
	)

	fmt.Println(hex.EncodeToString(hash))
}

Output:

0a3844b522d9e3a837ae56d4c57d668feb26325834bf4ba49e153d84ed7ad53d

More complex example:

package main

import (
	"encoding/hex"
	"fmt"

	"github.com/miguelmota/go-solidity-sha3"
)

func main() {
	types := []string{"address", "bytes1", "uint8[]", "bytes32", "uint256", "address[]", "uint32"}
	values := []interface{}{
		"0x935F7770265D0797B621c49A5215849c333Cc3ce",
		"0xa",
		[]uint8{128, 255},
		"100000000000000000",
		[]string{
			"0x13D94859b23AF5F610aEfC2Ae5254D4D7E3F191a",
			"0x473029549e9d898142a169d7234c59068EDcBB33",
		},
		123456789,
	}

	hash := solsha3.SoliditySHA3(types, values)

	fmt.Println(hex.EncodeToString(hash))
}

Output:

ad390a98c1c32cdb1f046f6887a4109f12290b690127e6e15da4ca210235510e

License

MIT

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Address

func Address(input interface{}) []byte

Address address

func AddressArray

func AddressArray(input interface{}) []byte

AddressArray address

func Bool

func Bool(input interface{}) []byte

Bool bool

func BoolArray

func BoolArray(input interface{}) []byte

BoolArray bool array

func Bytes16

func Bytes16(input interface{}) []byte

Bytes16 bytes16

func Bytes32

func Bytes32(input interface{}) []byte

Bytes32 bytes32

func ConcatByteSlices

func ConcatByteSlices(arrays ...[]byte) []byte

ConcatByteSlices concat byte slices

func Int128

func Int128(input interface{}) []byte

Int128 int128

func Int128Array

func Int128Array(input interface{}) []byte

Int128Array int128 array

func Int16

func Int16(input interface{}) []byte

Int16 int16

func Int16Array

func Int16Array(input interface{}) []byte

Int16Array int16 array

func Int256

func Int256(input interface{}) []byte

Int256 int256

func Int256Array

func Int256Array(input interface{}) []byte

Int256Array int256 array

func Int32

func Int32(input interface{}) []byte

Int32 int32

func Int32Array

func Int32Array(input interface{}) []byte

Int32Array int32

func Int64

func Int64(input interface{}) []byte

Int64 int64

func Int64Array

func Int64Array(input interface{}) []byte

Int64Array int64 array

func Int8

func Int8(input interface{}) []byte

Int8 int8

func Int8Array

func Int8Array(input interface{}) []byte

Int8Array int8 array

func Pack

func Pack(types []string, values []interface{}) []byte

Pack ...

func SoliditySHA3

func SoliditySHA3(data ...interface{}) []byte

SoliditySHA3 solidity sha3

func SoliditySHA3WithPrefix

func SoliditySHA3WithPrefix(data []byte) []byte

SoliditySHA3WithPrefix solidity sha3 with prefix

func String

func String(input interface{}) []byte

String string

func StringArray

func StringArray(input interface{}) []byte

StringArray string

func Uint128

func Uint128(input interface{}) []byte

Uint128 uint128

func Uint128Array

func Uint128Array(input interface{}) []byte

Uint128Array uint128

func Uint16

func Uint16(input interface{}) []byte

Uint16 uint16

func Uint16Array

func Uint16Array(input interface{}) []byte

Uint16Array uint16 array

func Uint256

func Uint256(input interface{}) []byte

Uint256 uint256

func Uint256Array

func Uint256Array(input interface{}) []byte

Uint256Array uint256 array

func Uint32

func Uint32(input interface{}) []byte

Uint32 uint32

func Uint32Array

func Uint32Array(input interface{}) []byte

Uint32Array uint32 array

func Uint64

func Uint64(input interface{}) []byte

Uint64 uint64

func Uint64Array

func Uint64Array(input interface{}) []byte

Uint64Array uint64 array

func Uint8

func Uint8(input interface{}) []byte

Uint8 uint8

func Uint8Array

func Uint8Array(input interface{}) []byte

Uint8Array uint8 array

Types

This section is empty.

Directories

Path Synopsis
cmd

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL