Storage
Upload and download files from IPFS.
from thirdweb import ThirdwebSDK
# You can customize this to a supported network or your own RPC URL
network = "mumbai"
sdk = ThirdwebSDK(network)
# Now all the IPFS functions will be available on the sdk.storage name space, e.g.:
sdk.storage.get("<IPFS_HASH>")
get
Gets IPFS data at a given hash and returns the data.
hash = "myhash"
sdk.storage.get(hash)
Configuration
get_upload_token
Gets an upload token for a given contract address.
contract_address = "0x..."
sdk.storage.get_upload_token(contract_address)
Configuration
upload
Uploads data to IPFS and returns the hash of the data.
data = "my data here"
sdk.storage.upload(data)
Configuration
upload_batch
Uploads a list of files to IPFS and returns the hash.
files = [
{
"name": "test",
"data": open("tests/files/test.mp4", "rb"),
},
{
"name": "test",
"data": open("tests/files/0.jpg", "rb"),
},
]
sdk.storage.upload_batch(files)
Configuration
files
The list of files to upload. The type must be a Sequence
of either text files, binary files, strings or Dictionaries of type str
to Any
:
Sequence[Union[TextIO, BinaryIO, str, Dict[str, Any]]]
file_start_number (optional)
The number to start the file names with. Must be of type int
.
Return Value
A string representing the hash of the data.
upload_metadata
Uploads metadata to IPFS and returns the hash of the metadata.
metadata = {
"name": "test name",
"description": "made with python sdk",
"animation_url": open("tests/files/test.mp4", "rb"),
}
sdk.storage.upload_metadata(metadata)
Configuration
upload_metadata_batch
Uploads a list of metadata to IPFS and returns the hash.
metadatas = [
{"name": "test 0", "image": open("tests/files/0.jpg", "rb")},
{
"name": "test 1",
"image": open("tests/files/1.jpg", "rb"),
"properties": {
"image": open("tests/files/3.jpg", "rb"),
},
},
{
"name": "test 2",
"image": open("tests/files/2.jpg", "rb"),
"properties": {
"image": open("tests/files/4.jpg", "rb"),
"test": {"image": open("tests/files/5.jpg", "rb")},
},
},
]
sdk.storage.upload_metadata_batch(metadatas)
Configuration
metadatas
A sequence of metadatas to upload. Must be a dictionary of str
to Any
:
Sequence[Dict[str, Any]]
file_start_number (optional)
The number to start the file names with. Must be of type int
. Default value is 0
.
Return Value
A UriWithMetadata
representing the hash of the data.
class UriWithMetadata:
base_uri: str
metadata_uris: List[str]