#smart-contracts #blockchain #social-network #cosmwasm-contracts #desmos-network

已删除 cw-desmos-filter-posts

一个基于报告数量筛选 Desmos 网络帖子的 CosmWasm 合约

0.1.4 2021年11月18日
0.1.3 2021年11月1日
0.1.2 2021年7月23日
0.1.1 2021年3月18日
0.1.0 2021年3月18日

#6 in #social-network

Apache-2.0

215KB
730 代码行

帖子筛选合约

此合约将筛选帖子,只返回报告数量少于 n 的帖子。n 将是合约需要排除的帖子从结果列表中的报告数量。此参数可以选择由系统或执行查询的用户。

filter-posts-contract-flow

在 Desmos 链上存储、实例化和交互合约

存储合约(如果之前未存储)

desmos tx wasm store <contract_name.wasm> --chain-id <chain_id> --from <key_name> --gas 1050000

实例化合约

首先,您需要获取之前存储的合约的 code_id。您可以从 tx_response 检查它,或者通过执行以下查询

desmos query wasm list-code

响应示例

code_infos:
- creator: desmos1k8u92hx3k33a5vgppkyzq6m4frxx7ewnlkyjrh
  data_hash: 151EF9413F16C8953EE18FE527692B5DEA142EBF02027C3564852AC874844B7A
  id: 1
pagination: {}

获取合约的 id 后,现在可以通过以下操作来实例化它

desmos tx wasm instantiate <code_id> '{"reports_limit": <number>}' --label <contract_name> --from <key_name> --chain-id <chain_id> --amount <amount>

与合约交互

desmos tx wasm execute <contract_address> '{"edit_reports_limit": { "reports_limit": <number> }}' --from <key_name> --chain-id <chain_id>
desmos query wasm contract-state smart <contract_address> '{"get_filtered_posts":{"reports_limit": <number>}}' --chain-id <chai_id>

依赖项

~3.5–5MB
~110K SLoC