@erebos/hex
Advanced tools
Changelog
v0.13.0 (2020-01-16)
bzz
-related packages have been refactored, the @erebos/api-bzz-base
, @erebos/api-bzz-browser
and @erebos/api-bzz-node
packages are discontinued and should be replaced by @erebos/bzz
, @erebos/bzz-browser
, @erebos/bzz-node
, @erebos/bzz-feed
and @erebos/bzz-fs
depending on the use cases, see below.@erebos/api-pss
package has been renamed to @erebos/pss
for consistency with the bzz
-related packages.@erebos/timeline
package, the decode
option has been removed from TimelineReaderConfig
and the encode
option from TimelineWriterConfig
, instead the read()
and write()
methods could be overwritten to cover the use case.createHex()
function has been removed from @erebos/hex
, Hex.from()
should be used instead.@erebos/feed-list
and @erebos/timeline
packages classes now need to be injected a BzzFeed
instance.One goal for Erebos has been to stay quite low-level, at least for the core packages interacting with Swarm.
As the bzz
-related packages have been growing over the past releases, it's been time to reconsider how to best organize them:
@erebos/hex
, @erebos/keccak256
and rxjs
that can be an additional burden for apps that don't need feeds, so all the feed-related methods have been extracted to the @erebos/bzz-feed
package.@erebos/api-bzz-node
provided additional methods to interact with the file system. These methods are now provided by the dedicated @erebos/bzz-fs
package.@erebos/bzz
package can now be used directly in browsers. However, it does not provide the downloadDirectory()
and uploadDirectory()
methods added in the @erebos/bzz-browser
and @erebos/bzz-node
packages.So what package should you use?
@erebos/bzz-node
downloadDirectory()
or uploadDirectory()
method: @erebos/bzz-browser
@erebos/bzz
@erebos/bzz-react-native
@erebos/bzz
as needed@erebos/bzz
If you need to interact with feeds, use @erebos/bzz-feed
.
If you want to interact with the file sytem when using node, the @erebos/bzz-fs
package provides the utility methods previously implemented in @erebos/api-bzz-node
.
The @erebos/doc-sync
package has been added, allowing to synchronize JSON documents.
Changelog
v0.12.0 (2019-12-17)
The Timeline
class has been split between the TimelineReader
and TimelineWriter
classes. TimelineWriter
extends TimelineReader
and therefore can be used as a dropped-in replacement for Timeline
.
@erebos/api-bzz-browser
can now be used in a Web Worker thanks to Adam Uhlíř's pull request.uploadData()
and downloadData()
methods have been added to the Bzz APIs.Hex.from()
static method has been added as a replacement for createHex()
.HTTP error messages from Swarm are now parsed when possible thanks to Adam Uhlíř's pull request.
The @erebos/feed-list
package has been added, implementing lists data structures on top of raw Swarm feeds.
Changelog
v0.11.0 (2019-11-28)
This release adds support for Readable streams in @erebos/api-bzz-base
, thanks to Adam Uhlíř's pull request.
The uploadFileStream()
method of @erebos/api-bzz-node
has been removed, uploadFile()
now supporting streams.
downloadObservable()
and downloadDirectoryData()
methods have been added to @erebos/api-bzz-base
and are therefore also available in @erebos/api-bzz-browser
. Until now they were only available in @erebos/api-bzz-node
.downloadStream()
method has been added.uploadFile()
and upload()
methods now support a Readable stream input.The code base and type definitions have been updated to TypeScript 3.7 thanks to Adam Uhlíř's pull request.
Changelog
v0.10.0 (2019-10-01)
PollOptions
interface of the Bzz API has been changed and is now used by the Timeline API. The PollFeedOptions
interface is now used for polling feeds.PollOptions
interface of the Timeline API has been removed, now using the interface exported by the Bzz API.Erebos v0.10 adds support for 2 new features added to the Swarm v0.5 release:
Changelog
v0.9.0 (2019-08-12)
The main change in this release is the code base being rewritten in TypeScript. As part of these changes, the library no longer uses ES modules default
exports but only named exports, such as:
import { Bzz } from '@erebos/api-bzz-node'
import { Pss } from '@erebos/api-pss'
import { createHex } from '@erebos/hex'
EMPTY_HEX
constant has been renamed to EMPTY_ADDRESS
.sendRaw()
, setPeerPublicKey()
and setSymmetricKey()
methods of the Pss
class no longer set a default address
value, use EMPTY_ADDRESS
if needed.The @erebos/swarm-browser
package now exports its contents in the Erebos.swarm
namespace instead of Erebos
. For example Erebos.swarm.SwarmClient()
should be used instead of Erebos.SwarmClient()
.
The browser builds (in the dist
folder) have been renamed from erebos.development.js
and erebos.production.js
to erebos.swarm.development.js
and erebos.swarm.production.js
to better reflect this change.
downloadTarTo()
method has been added to @erebos/api-bzz-node
.@erebos/api-bzz-react-native
has been added by Mark Vujevits in PR #98.sign()
and verify()
functions exported by the @erebos/secp256k1
package now accept a BNInput
input value as exported by the elliptic
package.addChapter()
method of the Timeline
class now calls createChapter()
, so default values for the chapter will be injected.Changelog
v0.7.0 (2019-03-18)
user
field and remove the signature
one. The added feed update parameters object should be used for feed updates.getFeedURL()
, createFeedManifest()
, getFeedMetadata()
, getFeedValue()
, pollFeedValue()
, postSignedFeedValue()
, postFeedValue()
, updateFeedValue()
and uploadFeedValue()
methods.signFeedDigest
to signBytes
, to reflect the fact it could be used in other contexts.createKeyPair()
function in @erebos/secp256k1
has been removed, as hex
is the only supported value it is set by default.@erebos/hex
module now supports bytes array (Array<number>
) as an input type and output using the .toBytesArray()
method.createPublic()
and verify()
functions have been added to the @erebos/secp256k1
package.@erebos/timeline
package has been added, providing an implementation of the Timeline protocol. Its API is available in the documentation website.The website has been redesigned and additional examples have been added: erebos.js.org
Changelog
v0.5.3/v0.5.4 (2018-12-12)
Changelog
v0.5.3/v0.5.4 (2018-12-12)
Changelog
v0.5.0 (2018-11-19)
PssEvent
object emitted by PSS subscriptions now has a different shape.@erebos/hex
package to interact with hexadecimal-encoded strings - see the added documentation for more details.pss
and website
commands to the CLI - see the updated CLI documentation.