Authenticity and provenance data economy decentralized chain |
- RPC: wss://ancon.did.pa:26657
- API: https://ancon.did.pa:1318
Note: Requires Go 1.17+
- Clone
https://github.com/Electronic-Signatures-Industries/ancon-protocol-cosmos-hub
- Download Starport
- Run
starport chain build
- Copy
go/bin/anconprotocold
to/usr/local/bin
Note: Requires Vega Upgrade to be live on testnet
- Clean any existing files
rm -rf .anconprotocold/
- Create keys or use existing
anconprotocold keys add mykey -i --keyring-backend file
- Initialize
anconprotocold init mynode --chain-id vega-testnet
- Copy
app.toml
andconfig.toml
to.anconprotocold/config
- Extract
gen.zip
to.anconprotocold/config/genesis.json
- Run
anconprotocold start --x-crisis-skip-assert-invariants
Soon
- EVM module
- Grant M2 - NFT bridges ETH-Cosmos-Flow
- NFT Marketplaces - Use Case
- Cleaning, fixes, tech debt
- V0.2.0
- Grant M3 - Ancon Data Pipes: Cosmos-Ethereum IPLD DAGs ETL
- V0.3.0
- EVM Cross chain bridges, use Ancon to distribute NFTs into other chains!
- Built in onchain metadata
- Metadata security and permissions using Decentralized Identities (DID)
- EVM Smart Contracts Module
- Native DID, NFT, Metadata modules
- Supports Coinbase Rosetta
- Supports Graphql
- Supports Graphsync
- A decentralized notary service where you "stake" your hardware smart card
- A decentralized lottery service where the NFT is the lotto ticket
- A decentralized wallet service using smard cards issued by governtment for zero KYC
- A decentrlaized cross chain NFT marketplace
- A decentralized invoice factoring NFT using IBC, Ancon and Terra
- Use KVStore to query for proofs for 0.2.0 demo
- Complete
ancon_getProofs
to useABCIQueryWithOptions
- Store proofs in IPLD and IPFS
- Complete
ancon_verifyMembership
- Use ics23.sol to verifiy signatures
- Add additional user and verifier whitelisting
- Add
updateHeader
and add a recurring cronjob - For EVM to Cosmos consider using
HashFromByteSlices
- Migrate ICS23 Rust to Flow Cadence
- Add additional user and verifier whitelisting
- Add
updateHeader
and add a recurring cronjob - For Flow to Cosmos consider using
HashFromByteSlices
Long term, IBC is the way to go but still early in EVM integration. Consider using IBC WASM Client or IBC Middleware. The latter is useful to implement Milestone 3 Graphsync and Data Pipes.
Think we got a pretty good understanding on how to use it and it will be expanded, it gives us basically a way to send EVM and Cosmos transactions to the Evmos module and let it handle it. AnconJS repo has the implementation for frontend, backend is using Custom JSON RPC.
- Alice must send Cosmos Transaction MsgChangeMetadataOwnership through EVM
- Alice requests tx proofs either with JSON RPC or REST, if REST must return a hash cid to fetch from IPFS or Ancon IPLD.
- Alice tx proofs can further be used to request other proofs or credentials with proofs or claims (EIP1812).
- Alice sends proofs/claims to EVM A and EVM B
- EVM A verifies merkle proof and/or verifies Alice (EIP1812), if OK, proceeds to change owner or delegate to a DID ether address.
- EVM B verifies merkle proof and/or verifies Alice (EIP1812), if OK, proceeds to (change owner by default) mint or transfer from escrow DID ether address.
- Alice needs to manually complete/claim cross ownership.
- Ancon replicates/publish to IPFS change metadata ownership from
unconfirmed
toverified
, adding two transaction hashes in multiformat (as cid).
Once again, because of timelines, this can be improved using IBC protocol.
Practically need to migrate from ics23 Rust to Cadence, estimates are around 2 weeks and should be easy to integrate with the existing frontend implementation. We'll have to do a lot of upfront code due to Flow missing some pieces, eg available DIDs.
We should not stay long in Flow, if code migration works, then we can document a plan for doing similar for other chains.
./init.sh
Note: Configure your local testnet mnemonic
ancon-protocold start --rpc.unsafe=true --json-rpc.api eth,txpool,personal,net,debug,web3,miner --home ~/.ancon-protocold --keyring-backend test
Your blockchain in development can be configured with config.yml
. To learn more, see the Starport docs.
To launch your blockchain live on multiple nodes, use starport network
commands. Learn more about Starport Network.
Starport has scaffolded a Vue.js-based web app in the vue
directory. Run the following commands to install dependencies and start the app:
cd vue
npm install
npm run serve
The frontend app is built using the @starport/vue
and @starport/vuex
packages. For details, see the monorepo for Starport front-end development.