@yeying-community/yeying-client-ts
    Preparing search index...

    Class Uploader

    该类用于上传资产文件,通过将文件分块后上传,每个块加密(可选)并生成哈希值,最后对整个资产进行签名

    发送资产的SOP是: 1、分块 2、读第一块 3、哈希 4、加密(可选) 5、检查是否块是否全部发送 6、否,读下一块 7、循环直到全部发送 8、签名

    Index

    Constructors

    • 构造函数

      Parameters

      • option: ProviderOption

        包含代理地址和区块地址信息的配置选项

      • securityAlgorithm: SecurityAlgorithm

        安全算法配置,包含算法名称和 IV

      Returns Uploader

      const option = {
      proxy: 'http://proxy.example.com',
      blockAddress: { identifier: 'example-did', privateKey: 'example-private-key' }
      }

      const securityAlgorithm = { name: 'AES-GCM', iv: 'base64-encoded-iv' }
      const uploader = new Uploader(option, securityAlgorithm)

    Properties

    assetCipher: AssetCipher
    assetProvider: AssetProvider
    blockProvider: BlockProvider
    chunkSize?: number
    configProvider: ConfigProvider
    isAbort: boolean = false

    Methods

    • 创建资产元信息

      Parameters

      • namespaceId: string

        命名空间 ID

      • file: File

        要上传的文件对象

      • encrypted: boolean = false

        是否对文件进行加密(默认为 false)

      • Optionaldescription: string

        资产描述(可选)

      • OptionalparentHash: string

        父资产的哈希值(可选)

      Returns Promise<AssetMetadataJson>

      返回生成的资产元数据

    • 上传文件,将文件分块处理,加密(可选),并逐块上传到区块链网络中

      Parameters

      • file: File

        要上传的文件对象

      • asset: AssetMetadataJson

        部分资产元信息

      • OptionalblockCallback: UploadCallback

        可选,通知当前成功的块元信息和进度信息

      Returns Promise<AssetMetadataJson>

      返回生成的资产元数据

      const file = new File(['Hello, world!'], 'example.txt', { type: 'text/plain' })
      uploader.upload('example-namespace', file)
      .then(assetMetadata => console.log(assetMetadata))
      .catch(err => console.error(err))