Package Exports
- content-hash
- content-hash/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (content-hash) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
content-hash
This is a simple package made for encoding and decoding content hashes has specified in the EIP 1577. This package will be useful for every Ethereum developer wanting to interact with EIP 1577 compliant ENS resolvers.
📥 Install
- via npm :
$> npm install content-hash
- via Github : Download or clone this repo, then install the dependencies.
$> git clone https://github.com/pldespaigne/content-hash.git $> cd content-hash $> npm install
For browser only usage, installation is not required.
🛠 Usage
Import the module in order to use it :
- NodeJS :
const contentHash = require('content-hash')- Browser :
<!--From CDN-->
<script type="text/javascript" src="https://unpkg.com/content-hash/dist/index.js"></script>
<!--From local module-->
<script type="text/javascript" src="path/to/dist/index.js"></script>To rebuild the browser version of the package run
npm run buildinto the root folder.
📕 API
contentHash.decode( contentHash )
This function takes a content hash Buffer and returns the decoded content as a string.
const encoded = Buffer.from('01122029f2d17be6139079dc48696d1f582a8530eb9805b561eda517e22a892c7e3f1f', 'hex')
const content = contentHash.decode(encoded)
// 'QmRAQB6YaCyidP37UdDnjFY5vQuiBrcqdyoW1CuDgwxkD4'contentHash.fromIpfs( ipfsHash )
This function takes an IPFS address string and returns the encoded content hash Buffer.
const ipfsHash = 'QmRAQB6YaCyidP37UdDnjFY5vQuiBrcqdyoW1CuDgwxkD4'
const contentH = contentHash.fromIpfs(ipfsHash)
// <Buffer 01122029f2d17be6139079dc48696d1f582a8530eb9805b561eda517e22a892c7e3f1f>contentHash.fromSwarm( swarmHash )
This function takes a Swarm address string and returns the encoded content hash Buffer.
const swarmHash = 'd1de9994b4d039f6548d191eb26786769f580809256b4685ef316805265ea162'
const contentH = contentHash.fromSwarm(swarmHash)
// <Buffer 00d1de9994b4d039f6548d191eb26786769f580809256b4685ef316805265ea162>contentHash. fromBuffer( codec, buffer )
This function takes a codec Buffer and a value Buffer and returns the encoded content hash Buffer.
The list of supported codecs can be found here, the module also defines SWARM_CODEC and IPFS_CODEC Buffer constant for convenience.
const value = 'd1de9994b4d039f6548d191eb26786769f580809256b4685ef316805265ea162'
const bufValue = Buffer.from(value, 'hex')
const contentH = contentHash.fromBuffer(SWARM_CODEC, bufValue)
// <Buffer 00d1de9994b4d039f6548d191eb26786769f580809256b4685ef316805265ea162>👨💻 Maintainer
🙌 Contributing
For any questions, discussions, bug report, or whatever I will be happy to answer through the issues or on my twitter 😁.
📝 License
This project is licensed under the ISC License, you can find it here.
Note that the dependencies may have a different License