#holochain #anchor #pattern #links #zome #apps

holochain_anchors

一个库,帮助 Holochain 应用使用锚模式

4 个版本

0.2.1 2020年1月14日
0.2.0 2019年12月11日
0.1.1 2019年12月9日
0.1.0 2019年12月9日

#15 in #zome


用于 2 crate

自定义许可GPL-3.0-only

11KB
175

Holochain Anchors

这个库允许 Holochain 项目轻松使用锚模式来创建链接。这仍是一个正在进行中的工作,欢迎提供反馈。

安装

将以下内容添加到您的 zome cargo toml。

holochain_anchors = "0.2"

用法

将锚条目定义添加到您的 zome。

 #[entry_def]
fn anchor_def() -> ValidatingEntryType {
    holochain_anchors::anchor_definition()
}

ANCHOR_TYPE 链接

links: [
    from!(
        holochain_anchors::ANCHOR_TYPE,
        link_type: "my_link_type",
        validation_package: || {
            hdk::ValidationPackageDefinition::Entry
        },

        validation: |_validation_data: hdk::LinkValidationData| {
            Ok(())
        }
    )
]

创建一个锚并链接一个条目到它。如果锚已存在,则将使用现有锚。

let my_entry = Entry::App(
    "my_entry".into(),
        MyEntry{
        content: "some_content".into()
    }.into()
);
let address = hdk::commit_entry(&my_entry)?;
let anchor_address = holochain_anchors::create_anchor("my_anchor_type".into(), "my_anchor".into())?;
hdk::link_entries(&anchor_address, &address, "my_link_type", "my_anchor")?;

获取该锚上的所有链接。

let anchor_address = holochain_anchors::create_anchor("my_anchor_type".into(), "my_anchor".into())?;
hdk::utils::get_links_and_load_type(&anchor_address, LinkMatch::Exactly("my_link_type"), LinkMatch::Any)

依赖

~20–30MB
~487K SLoC