# \[DEPRECATED\] multicodec implementation in Go

**URL:** <https://discuss.ipfs.tech/t/deprecated-multicodec-implementation-in-go/6992>\
**Category:** Help\
**Tags:** multiformats\
**Created:** [January 10, 2020, 5:33pm UTC](https://discuss.ipfs.tech/t/deprecated-multicodec-implementation-in-go/6992 "2020-01-10T17:33:49Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![rudolph9](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ipfs.tech/rudolph9/32/3212_2.png) [@rudolph9](https://discuss.ipfs.tech/u/rudolph9)\
**Post date:** [January 10, 2020, 5:33pm UTC](https://discuss.ipfs.tech/t/deprecated-multicodec-implementation-in-go/6992/1 "2020-01-10T17:33:49Z")

</div>

The multicodec repo [GitHub - multiformats/multicodec: Compact self-describing codecs. Save space by using predefined multicodec tables.](https://github.com/multiformats/multicodec/) links to a deprecated and archived repo for the go impl [GitHub - multiformats/go-multicodec: Go constants for the multicodec table](https://github.com/multiformats/go-multicodec/)

Is there a replacement go impl somewhere? If not, what should make of the deprecated go-multicodec as the main multicodec repo still seem to be active as there are commits from as recent as 24 days ago.

---

<div class="post-metadata">

**Author:** ![hector](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ipfs.tech/hector/32/178_2.png) [@hector](https://discuss.ipfs.tech/u/hector)\
**Post date:** [January 11, 2020, 2:11pm UTC](https://discuss.ipfs.tech/t/deprecated-multicodec-implementation-in-go/6992/2 "2020-01-11T14:11:13Z")

</div>

Rather than using the stuff that the go-multicodecs provides, we have [https://github.com/multiformats/multistream-select/](https://github.com/multiformats/multistream-select/) to negotiate stream and then things like multihashes (which use codes from the multicodec table). I think the deprecation came from the fact that it was effectively unused in our stack.

The main multicodec repo is used to maintable the csv table with the code assignments.

The question is, what do you want to use multicodecs for? go-multicodecs was useful to wrap different-encoder/decoders inside the same interface (i.e. to be able to switch from json to cbor in your code with minimal changes), but this functionality can be easily reproduced and some libraries ([https://godoc.org/github.com/ugorji/go/codec](https://godoc.org/github.com/ugorji/go/codec)) provide easy switching between most common formats too…
