 9bdcbe0447
			
		
	
	9bdcbe0447
	
	
	
		
			
			Major integrations and fixes: - Added BACKBEAT SDK integration for P2P operation timing - Implemented beat-aware status tracking for distributed operations - Added Docker secrets support for secure license management - Resolved KACHING license validation via HTTPS/TLS - Updated docker-compose configuration for clean stack deployment - Disabled rollback policies to prevent deployment failures - Added license credential storage (CHORUS-DEV-MULTI-001) Technical improvements: - BACKBEAT P2P operation tracking with phase management - Enhanced configuration system with file-based secrets - Improved error handling for license validation - Clean separation of KACHING and CHORUS deployment stacks 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
		
			
				
	
	
		
			91 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			91 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # go-multihash
 | |
| 
 | |
| [](http://ipn.io)
 | |
| [](https://github.com/multiformats/multiformats)
 | |
| [](https://webchat.freenode.net/?channels=%23ipfs)
 | |
| [](https://github.com/RichardLitt/standard-readme)
 | |
| [](https://godoc.org/github.com/multiformats/go-multihash)
 | |
| [](https://travis-ci.org/multiformats/go-multihash)
 | |
| [](https://codecov.io/github/multiformats/go-multihash?branch=master)
 | |
| 
 | |
| > [multihash](https://github.com/multiformats/multihash) implementation in Go
 | |
| 
 | |
| ## Table of Contents
 | |
| 
 | |
| - [Install](#install)
 | |
| - [Usage](#usage)
 | |
| - [Maintainers](#maintainers)
 | |
| - [Contribute](#contribute)
 | |
| - [License](#license)
 | |
| 
 | |
| ## Install
 | |
| 
 | |
| `go-multihash` is a standard Go module which can be installed with:
 | |
| 
 | |
| ```sh
 | |
| go get github.com/multiformats/go-multihash
 | |
| ```
 | |
| 
 | |
| ## Usage
 | |
| 
 | |
| 
 | |
| ### Example
 | |
| 
 | |
| This example takes a standard hex-encoded data and uses `EncodeName` to calculate the SHA1 multihash value for the buffer.
 | |
| 
 | |
| The resulting hex-encoded data corresponds to: `<hash function code><digest size><hash function output>`, which could be re-parsed
 | |
| with `Multihash.FromHexString()`.
 | |
| 
 | |
| 
 | |
| ```go
 | |
| package main
 | |
| 
 | |
| import (
 | |
| 	"encoding/hex"
 | |
| 	"fmt"
 | |
| 
 | |
| 	"github.com/multiformats/go-multihash"
 | |
| )
 | |
| 
 | |
| func main() {
 | |
| 	// ignores errors for simplicity.
 | |
| 	// don't do that at home.
 | |
| 	// Decode a SHA1 hash to a binary buffer
 | |
| 	buf, _ := hex.DecodeString("0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33")
 | |
| 
 | |
| 	// Create a new multihash with it.
 | |
| 	mHashBuf, _ := multihash.EncodeName(buf, "sha1")
 | |
| 	// Print the multihash as hex string
 | |
| 	fmt.Printf("hex: %s\n", hex.EncodeToString(mHashBuf))
 | |
| 
 | |
| 	// Parse the binary multihash to a DecodedMultihash
 | |
| 	mHash, _ := multihash.Decode(mHashBuf)
 | |
| 	// Convert the sha1 value to hex string
 | |
| 	sha1hex := hex.EncodeToString(mHash.Digest)
 | |
| 	// Print all the information in the multihash
 | |
| 	fmt.Printf("obj: %v 0x%x %d %s\n", mHash.Name, mHash.Code, mHash.Length, sha1hex)
 | |
| }
 | |
| ```
 | |
| 
 | |
| To run, copy to [example/foo.go](example/foo.go) and:
 | |
| 
 | |
| ```
 | |
| > cd example/
 | |
| > go build
 | |
| > ./example
 | |
| hex: 11140beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33
 | |
| obj: sha1 0x11 20 0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33
 | |
| ```
 | |
| 
 | |
| ## Contribute
 | |
| 
 | |
| Contributions welcome. Please check out [the issues](https://github.com/multiformats/go-multihash/issues).
 | |
| 
 | |
| Check out our [contributing document](https://github.com/multiformats/multiformats/blob/master/contributing.md) for more information on how we work, and about contributing in general. Please be aware that all interactions related to multiformats are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).
 | |
| 
 | |
| Small note: If editing the README, please conform to the [standard-readme](https://github.com/RichardLitt/standard-readme) specification.
 | |
| 
 | |
| ## License
 | |
| 
 | |
| [MIT](LICENSE) © 2014 Juan Batiz-Benet
 |