github.com/ipld/go-ipld-prime
go
pkg:golang/github.com/ipld/go-ipld-prime
22 Dependabot PRs
24 days ago
15 repositories
4 repositories
Security Advisories
go-ipld-prime: DAG-CBOR decoder unbounded memory allocation from CBOR headers
go-ipld-prime/codec/json may panic if asked to encode bytes
go-ipld-prime's DAG-CBOR and DAG-JSON decoders have unbounded recursion depth
Recent PRs
Bump github.com/ipld/go-ipld-prime from 0.21.0 to 0.23.0
cerc-io/eth-ipfs-state-validator #91
chore(deps): bump github.com/ipld/go-ipld-prime from 0.21.0 to 0.23.0
dymensionxyz/dymint #1517
build(deps): Bump github.com/ipld/go-ipld-prime from 0.22.0 to 0.23.0 in /apps/grpc
evstack/ev-node #3318
chore(deps): bump github.com/ipld/go-ipld-prime from 0.21.0 to 0.23.0
threshold-network/keep-core #3955
Bump the go_modules group across 58 directories with 11 updates
Bump github.com/ipld/go-ipld-prime from 0.21.0 to 0.22.0 in /components/blobserve
lilsunny243/gitpod #663
Bump github.com/ipld/go-ipld-prime from 0.11.0 to 0.22.0 in /components/registry-facade
build(deps): bump github.com/ipld/go-ipld-prime from 0.21.0 to 0.22.0
berty/go-ipfs-log #138
build(deps): bump github.com/ipld/go-ipld-prime from 0.21.0 to 0.22.0 in /example
berty/go-ipfs-log #137
Bump github.com/ipld/go-ipld-prime from 0.21.0 to 0.22.0 in /components/registry-facade
lilsunny243/gitpod #662
Bump github.com/ipld/go-ipld-prime from 0.20.0 to 0.22.0
33cn/plugin #1294
chore(deps): bump the go_modules group across 2 directories with 11 updates
Bump github.com/ipld/go-ipld-prime from 0.11.0 to 0.22.0 in /install/installer
build(deps): bump github.com/ipld/go-ipld-prime from 0.21.0 to 0.22.0
algorand/go-algorand #6601
chore(deps): bump github.com/ipld/go-ipld-prime from 0.21.0 to 0.22.0 in /cmd
ipld/go-car #651
Bump github.com/ipld/go-ipld-prime from 0.17.0 to 0.19.0
ipfs/ipfs-update #173
Bump github.com/ipld/go-ipld-prime from 0.14.1 to 0.19.0 in /integration
SaintPatricks-Github-Coinpot-Club/flow-go #24
Bump github.com/ipld/go-ipld-prime from 0.16.0 to 0.19.0
threshold-network/keep-core #3503
Bump github.com/ipld/go-ipld-prime from 0.11.0 to 0.19.0 in /install/installer
Bump github.com/ipld/go-ipld-prime from 0.11.0 to 0.19.0 in /components/registry-facade
Bump github.com/ipld/go-ipld-prime from 0.11.0 to 0.19.0 in /components/blobserve
Bump github.com/ipld/go-ipld-prime from 0.14.1 to 0.19.0
SaintPatricks-Github-Coinpot-Club/flow-go #23
Package Details
| Name: | github.com/ipld/go-ipld-prime |
| Ecosystem: | go |
| PURL Type: | golang |
| Package URL: | pkg:golang/github.com/ipld/go-ipld-prime |
| JSON API: | View JSON |
Security Advisories
Package Information
go-ipld-prime is a series of go interfaces for manipulating IPLD data. See https://ipld.io/ for more information about the basics of "What is IPLD?". Here in the godoc, the first couple of types to look at should be: These types provide a generic description of the data model. A Node is a piece of IPLD data which can be inspected. A NodeAssembler is used to create Nodes. (A NodeBuilder is just like a NodeAssembler, but allocates memory (whereas a NodeAssembler just fills up memory; using these carefully allows construction of very efficient code.) Different NodePrototypes can be used to describe Nodes which follow certain logical rules (e.g., we use these as part of implementing Schemas), and can also be used so that programs can use different memory layouts for different data (which can be useful for constructing efficient programs when data has known shape for which we can use specific or compacted memory layouts). If working with linked data (data which is split into multiple trees of Nodes, loaded separately, and connected by some kind of "link" reference), the next types you should look at are: The most typical use of LinkSystem is to use the linking/cid package to get a LinkSystem that works with CIDs: ... and then assign the StorageWriteOpener and StorageReadOpener fields in order to control where data is stored to and read from. Methods on the LinkSystem then provide the functions typically used to get data in and out of Nodes so you can work with it. This root package gathers some of the most important ease-of-use functions all in one place, but is mostly aliases out to features originally found in other more specific sub-packages. (If you're interested in keeping your binary sizes small, and don't use some of the features of this library, you'll probably want to look into using the relevant sub-packages directly.) Particularly interesting subpackages include: Example_createDataAndMarshal shows how you can feed data into a NodeBuilder, and also how to then hand that to an Encoder. Often you'll encoding implicitly through a LinkSystem.Store call instead, but you can do it directly, too. Example_goValueWithSchema shows how to combine a Go value with an IPLD schema, which can then be used as an IPLD node. For more examples and documentation, see the node/bindnode package. Example_unmarshalData shows how you can use a Decoder and a NodeBuilder (or NodePrototype) together to do unmarshalling. Often you'll do this implicitly through a LinkSystem.Load call instead, but you can do it directly, too.
| Repository: | https://github.com/ipld/go-ipld-prime |
| Homepage: | https://github.com/ipld/go-ipld-prime |
| Latest Release: |
v0.21.0
almost 3 years ago |
| Dependent Repos: | 1,319 |
| Dependent Packages: | 1,189 |
| Ranking: | Top 0.2162% by dependent repos Top 0.1257% by dependent pkgs |