What is Lassie?

Lassie is a new project from the Tornado team on Bedrock, developed over late Q4 2022 and Q1 2023.

Lassie is a simple retrieval client for Filecoin. It finds and fetches your data over the best retrieval protocols available. Lassie makes Filecoin retrieval easy. While Lassie is powerful, the core functionality is expressed in a single CLI command:

lassie fetch <CID>

Project Focus

Lassie is a simple library/API that any project can use to add retrieval from Filecoin.

The Bedrock Tornado team supports partner teams who want to retrieve from Filecoin. Many of our partners want an optimized pluggable library or API, so they can retrieve Filecoin data without having to think about “how” to do retrieval. Having already built robust Filecoin retrieval code into Autoretrieve, our team decided to extract a common retrieval library.

Lassie is a reference implementation for developers building retrieval clients for Filecoin.

Lassie provides opinionated guidance for developers on how to work with network indexers and data transfer protocols to retrieve data out of Filecoin. Developers of other retrieval clients, potentially in other languages, can use Lassie’s well documented code as a learning tool. They can choose to emulate Lassie’s approach, or they can customize for their use case.

Prior Art

FilClient - FilClient is a client for storage and retrieval on Filecoin. The earliest versions of lassie used FilClient code to talk directly to storage providers. Lassie differs from FilClient in a few ways:

By dropping storage, and making payments an optional plug-in to Lassie, we’re able to keep Lotus and filecoin-ffi out of the dependency chain which significantly simplifies development and integration into other codebases. The Outercore Engineering team is committed to eventually replacing the retrieval components of FilClient with Lassie and the code that began in FilClient lives on in a simplified form in Lassie

w3rc - w3rc is a simple program that can retrieve over multiple protocols written by @Will Scott. w3rc can be thought of as a “prototype” of what Lassie aims to be. We decided to start from scratch rather than build on the prototype because:

Lassie remains a spiritual successor to w3rc and we’re indebted to the work Will put in on this.

Project Scope Q1 2023

The Bedrock Tornado team extracted an MVP of Lassie from Autoretrieve in Q4 2022, in the process removing its dependencies on FilClient , Lotus, and filecoin-ffi. In Q1 2023, the team is focused in three areas: