29个版本 (破坏性更新)

0.28.0 2024年8月9日
0.27.1 2023年12月2日
0.26.0 2023年10月13日
0.24.0 2023年5月12日
0.8.0 2021年3月22日

#104 in 编程语言

Download history 28/week @ 2024-04-27 26/week @ 2024-05-04 32/week @ 2024-05-11 37/week @ 2024-05-18 34/week @ 2024-05-25 47/week @ 2024-06-01 23/week @ 2024-06-08 29/week @ 2024-06-15 76/week @ 2024-06-22 7/week @ 2024-06-29 48/week @ 2024-07-06 42/week @ 2024-07-13 23/week @ 2024-07-20 180/week @ 2024-07-27 135/week @ 2024-08-03 67/week @ 2024-08-10

415 每月下载量
用于 15 个crate(6 个直接使用)

CC0 协议

1MB
21K SLoC

Latest Version Documentation

特性

  • ErgoTree 类型、值、IR 节点定义;
  • ErgoTree IR 节点序列化;

ErgoTree IR 节点应用;

ErgoTree 特性

操作描述可以在 ErgoTree 规范 中找到。

尚未实现的操作

对象属性和方法

SigmaProp

  • isProven

已实现的操作(IR 节点)

通用

  • 块(BlockValue);
  • 变量定义(ValDefValUse);
  • 函数定义(FuncValue);
  • 函数应用(Apply);
  • 元组字段访问
  • 'If' 条件语句

操作

  • 比较: >, <, =, ==!=
  • 算术: +, -, *, /, %
  • 逻辑: &&, ||
  • | (位或);
  • & (位与);
  • ^ (位异或);
  • | (两个字节数组的按字节异或) #296;
  • 一元 !;
  • 一元 -;
  • ^(逻辑异或);
  • 一元 ~(位反转);

预定义函数

  • longToByteArray
  • byteArrayToBigInt
  • byteArrayToLong
  • upcast
  • allOf
  • anyOf
  • min
  • max
  • blake2b256
  • sha256
  • proveDlog
  • proveDHTuple
  • sigmaProp
  • substConstants
  • executeFromVar
  • executeFromSelfReg
  • getVar
  • allZK
  • anyZK
  • decodePoint
  • groupGenerator #332
  • xorOf #356
  • downcast
  • avlTree
  • treeLookup
  • atLeast

对象属性和方法

GroupElement

SigmaProp

  • propBytes

Box

  • value
  • propositionBytes
  • id
  • creationInfo
  • getReg
  • tokens
  • R0 .. R9
  • bytes
  • bytesWithoutRef

Header

  • id
  • version
  • parentId
  • ADProofsRoot
  • stateRoot
  • transactionsRoot
  • timestamp
  • nBits
  • height
  • extensionRoot
  • minerPk
  • powOnetimePk
  • powNonce
  • powDistance
  • votes

PreHeader

  • version
  • parentId
  • timestamp
  • nBits
  • height
  • minerPk
  • votes

Context

  • dataInputs
  • INPUTS
  • OUTPUTS
  • HEIGHT
  • SELF
  • minerPubKey
  • getVar
  • selfBoxIndex
  • headers
  • preHeader
  • LastBlockUtxoRootHash

AvlTree

  • digest
  • enabledOperations
  • keyLength
  • valueLengthOpt
  • isInsertAllowed
  • isUpdateAllowed
  • isRemoveAllowed
  • updateOperations
  • insert
  • updateDigest
  • contains
  • get
  • getMany
  • update
  • remove

Collection

  • size
  • getOrElse
  • map
  • exists
  • fold
  • forall
  • slice #300
  • filter
  • append #301
  • apply
  • flatMap
  • indexOf
  • zip #329
  • indices #314
  • patch #357
  • updated #358
  • updateMany #359

Option

  • isDefined
  • get
  • getOrElse
  • map #360
  • filter #360

依赖

~10-14MB
~298K SLoC