{"id":13137487,"url":"https://github.com/AlexandriaDAO/NFT","last_synced_at":"2025-03-07T10:31:21.879Z","repository":{"id":238894111,"uuid":"797833513","full_name":"AlexandriaDAO/NFT","owner":"AlexandriaDAO","description":null,"archived":false,"fork":false,"pushed_at":"2024-06-25T17:01:24.000Z","size":3557,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2024-10-21T12:35:54.486Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AlexandriaDAO.png","metadata":{"files":{"readme":"README.org","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-08T15:53:57.000Z","updated_at":"2024-10-10T20:21:12.000Z","dependencies_parsed_at":"2024-07-27T03:03:53.084Z","dependency_job_id":null,"html_url":"https://github.com/AlexandriaDAO/NFT","commit_stats":null,"previous_names":["uncensoredgreats/nft","alexandriadao/nft"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexandriaDAO%2FNFT","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexandriaDAO%2FNFT/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexandriaDAO%2FNFT/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexandriaDAO%2FNFT/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AlexandriaDAO","download_url":"https://codeload.github.com/AlexandriaDAO/NFT/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242374351,"owners_count":20117626,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-27T02:06:42.585Z","updated_at":"2025-03-07T10:31:21.532Z","avatar_url":"https://github.com/AlexandriaDAO.png","language":"Rust","funding_links":[],"categories":["Fungible and Non-fungible Tokens (NFTs)"],"sub_categories":["Implementations"],"readme":"* Framework for ICRC7 NFT implementation for Internet Computer\n\n** Simple NFT\n\n*** add next to dependences in ~Cargo.toml~\n#+BEGIN_SRC toml\n  uncensored-greats-dao = \"0.1\"\n  serde = { version = \"1\", features = [\"derive\"] }\n  serde_json = \"1\"\n  candid = \"0.10\"\n#+END_SRC\n\n*** to create NFT struct ~TestToken~ with symbol ~TT~ and name ~TestToken~ in ~src/lib.rs~ add\n#+BEGIN_SRC rust\n  use serde::{Deserialize, Serialize};\n  use uncensored_greats_dao::{Icrc7, Metadata, Storage};\n  use candid::CandidType;\n\n  #[derive(\n      CandidType, Clone, Hash, Default, Serialize, Deserialize,\n  )]\n  pub struct TestToken {\n      pub name: String,\n      pub description: Option\u003cString\u003e,\n  }\n\n  impl Metadata for TestToken {\n      fn metadata(\u0026self) -\u003e String {\n          serde_json::to_string(\u0026serde_json::json!({\n              \"name\": self.name,\n              \"description\": self.description\n          }))\n              .unwrap_or_default()\n      }\n  }\n\n  #[derive(Icrc7, Storage, Deserialize, Serialize, Default)]\n  #[icrc7(token_type = \"TestToken\")]\n  #[icrc7(symbol = \"TT\")]\n  #[icrc7(name = \"Test Token\")]\n  pub struct TokenCollections {}\n#+END_SRC\n\n*** build and deploy to test network\n#+BEGIN_SRC bash\n  rustup target add wasm32-unknown-unknown\n  cargo install candid-extractor\n  cargo build --release --target wasm32-unknown-unknown --package test_token\n  candid-extractor target/wasm32-unknown-unknown/release/test_token.wasm \u003e test_token.did\n\n  dfx start --clean --background\n  dfx deploy test_token\n#+END_SRC\n\n*** creating token\n#+BEGIN_SRC bash\n  dfx canister call test_token create_token \\\n    \"(record{\n        token=record {\n                name=\\\"test\\\";\n                description=opt\\\"test description\\\"\n        };\n     })\"\n#+END_SRC\n\n*** mint created token\n#+BEGIN_SRC bash\n  dfx canister call test_token mint \\\n      \"(record{\n          token_id=1;\n          holders=vec{record{owner=principal\\\"$YOU\\\"}}\n      })\"\n#+END_SRC\n\nto check more methots please check ~examples/test_token~\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAlexandriaDAO%2FNFT","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FAlexandriaDAO%2FNFT","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAlexandriaDAO%2FNFT/lists"}