{"id":20217399,"url":"https://github.com/settlemint/polygon-asset-tokenisation","last_synced_at":"2025-08-09T19:47:41.465Z","repository":{"id":157867717,"uuid":"626403040","full_name":"settlemint/polygon-asset-tokenisation","owner":"settlemint","description":null,"archived":false,"fork":false,"pushed_at":"2024-11-13T06:21:05.000Z","size":25,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-07-27T11:48:53.178Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Solidity","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/settlemint.png","metadata":{"files":{"readme":"README.md","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,"zenodo":null}},"created_at":"2023-04-11T11:58:50.000Z","updated_at":"2023-07-04T11:42:05.000Z","dependencies_parsed_at":null,"dependency_job_id":"f9d652fb-60f6-4bb3-91f6-185382af055a","html_url":"https://github.com/settlemint/polygon-asset-tokenisation","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/settlemint/polygon-asset-tokenisation","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/settlemint%2Fpolygon-asset-tokenisation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/settlemint%2Fpolygon-asset-tokenisation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/settlemint%2Fpolygon-asset-tokenisation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/settlemint%2Fpolygon-asset-tokenisation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/settlemint","download_url":"https://codeload.github.com/settlemint/polygon-asset-tokenisation/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/settlemint%2Fpolygon-asset-tokenisation/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269630977,"owners_count":24450133,"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","status":"online","status_checked_at":"2025-08-09T02:00:10.424Z","response_time":111,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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-11-14T06:33:56.516Z","updated_at":"2025-08-09T19:47:41.095Z","avatar_url":"https://github.com/settlemint.png","language":"Solidity","readme":"# polygon-asset-tokenisation\n\n## Context\n\nPolygon Asset Tokenisation Example powered by SettleMint\n\n---\n\n## Technical Details\n\n---\n\n## Get Started\n\n1. Create an account on SettleMint [here](https://console.settlemint.com/)\n2. Create an Organisation (e.g. Your_Name_Organisation)\n3. Create an Application (e.g. Your_Name_Application)\n4. Click on Blockchain networks and add a `Polygon Testnet` network and a node (e.g. Your_Name_Network, Your_Name_Node). Note: choose the smallest resources\n5. Click on Storage and add a `IPFS (decentralised)` storage. Note: choose the smallest resources\n6. Click on Private keys and add a `Accessible EC DSA P256` key\n7. Click on Smart Contracts sets and add a `Empty` template (e.g. Your_Name_Asset_Tokenisation). Note: choose the smallest resources\n\n### Fund your Private key\n\n1. In the SettleMint BPass Platform, head over to `Private keys` and copy `private key`\n2. Head over to `https://faucet.polygon.technology/`\n3. Under `Mumbai` Network, paste your `private key` and click `Submit`\n4. Note down your private key (notes/stickies/etc)\n\n### Set up your PolygonScan API key\n\n1. Head over to `https://polygonscan.com/` and go to `API-KEYs`\n2. Create your API key and copy it\n3. Note down your API key (notes/stickies/etc)\n\n### Setting up and Deployment of your Smart Contract\n\n1. In the SettleMint BPass Platform, head over to `Smart contract sets`\n2. Click on your deployed smart contract set and go to the IDE tab and click `view in fullscreen mode`\n3. Copy the template `AssetTokenisation.sol` found in `./Smart-Contracts` and paste it in the IDE's folder `./contracts`. Make sure your file name is the same as the contract name, e.g. `AssetTokenisation.sol` == `contract AssetTokenisation ...`\n4. In the folder `./deploy`, open the file named `00_deploy_example.ts` and in line 13, change the name of the contract depending on your file name\n\n```javascript\n  await deploy('AssetTokenisation', {\n    from: deployer,\n    args: [],\n    log: true,\n  });\n```\n\n5. In the root folder, open the file named `hardhat.config.ts` and in line 34, change the Solidity version to 0.8.13 and add in your noted down PolygonScan API key\n\n```js\nconst config: HardhatUserConfig = {\n  abiExporter,\n  solidity: {\n    version: '0.8.13',\n    settings: {\n      optimizer: {\n        enabled: true,\n        runs: 200,\n      },\n      evmVersion: 'istanbul',\n    },\n  },\n  etherscan: {\n    apiKey: {\n      polygon : 'xxx'\n    }\n  },\n  namedAccounts,\n  networks,\n};\n```\n\n6. Deploy your Asset Tokenisation smart contract! \n\n```bash\npnpm run smartcontract:deploy:reset\n```\n\n7. Note down your deployed smart contract address (notes/stickies/etc)\n\n8. Open the `abi` folder, go to `AssetTokenisation.json` and copy the json contents\n\n8. Note down your json contents (notes/stickies/etc)\n\n### Set up your SettleMint API key\n\n1. In the SettleMint BPass Platform, click on your profile icon at the top right at click on `API keys`\n2. Check all the boxes and generate your API key\n3. Note down your API key (notes/stickies/etc)\n\n### Upload your Image to IPFS\n\n1. In the SettleMint BPass Platform, head over to `Storage` and click into your deployed `IPFS (decentralised)` storage\n2. Click on the `File Manager` tab and click on the `Import` button and choose `File`\n3. Choose an image that represents your asset and upload your image\n4. Click on the ellipsis at the far right and click `Set pinning` to pin your image\n5. Click on the ellipsis at the far right again and click `Share link` to copy the link to your image\n6. Note down your image uri\n\n### Find your JSON-RPC endpoint\n\n1. In the SettleMint BPass Platform, click on `Blockchain nodes`, click on your deployed node and click on `Connect`\n2. Note down your `JSON-RPC` endpoint\n\n### BUIDL session\n\n1. Now, you are ready to BUIDL!\n2. In the SettleMint BPass Platform, click on `Integration tools` and deploy an `Integration Studio` tool\n3. Click on your deployed `Integration Studio`, click on `Interface` and click `view in fullscreen mode`\n4. At the top right dropdown box, click on `Import` and import the `flows.json` found in the `Integration-Studio` directory here in a `new flow`\n5. Once imported, click on the `Asset Tokenisation` tab and click `Deploy` at the top right\n\n#### 1. Initialise your global variables\n\n1. Double click on the `Set Global Variables` module\n2. Go to the `On Message` tab and input your noted down variables and click `Done`\n\n```javascript\n    'privateKey': '0x...',\n    'contract': '0x...',\n    'bpassKey': 'bpaas-...',\n    'rpcEndpoint': 'https://...',\n    'abi': []\n```\n\n3. Click on `Deploy` at the top right and click on the blue button next to the `inject` module, next to `Set Global Variables` module.\n4. You can view the output at the debug window on the right side by clicking on the bug icon.\n\n#### 2. Initialise your asset\n\n1. Double click on the `inject` module next to the `Initialise Asset` module\n2. Input your variables and click `Done`\n\n```javascript\nmsg.assetName = ''\nmsg.assetSymbol = ''\nmsg.assetUri = ''\n```\n\n3. Click on `Deploy` at the top right and click on the blue button next to the `inject` module, next to `Initialise Asset` module.\n4. You can view the output at the debug window on the right side by clicking on the bug icon.\n\n#### 3. Get your maturity time\n\n1. Click on the blue button next to the `inject` module, next to the `Current Time + 10 Minutes` module\n2. You can view the output at the debug window on the right side by clicking on the bug icon. Take note of the `end` value. This will be used as the maturity time input for the next step.\n\n#### 4. Create your asset\n\n1. Double click on the inject module next to the `Create Asset` module\n2. Input your variables and click `Done`\n\n```javascript\nmsg.assetId = e.g. 1 \nmsg.maxSupply = e.g. 100 \nmsg.faceValue = e.g. 1000 \nmsg.maturityTime = \u003cend value\u003e\n```\n\n#### 4. View your created asset\n\n1. Click on the blue button next to the `inject` module, next to the `View Asset` module\n2. You can view the output at the debug window on the right side by clicking on the bug icon. \n\n#### 5. Mint your created asset\n\n1. Double click on the inject module next to the `Mint Asset` module\n2. Input your variables and click `Done`\n\n```javascript\nmsg.assetId = e.g. 1 \nmsg.amounts = e.g. 10 \nmsg.recipient = e.g. recipient address \n```\n\n3. Click on `Deploy` at the top right and click on the blue button next to the `inject` module, next to `Mint Asset` module.\n4. You can view the output at the debug window on the right side by clicking on the bug icon.\n\n#### 6. View your minted asset balance\n\n1. Click on the blue button next to the `inject` module, next to the `View Balance` module\n2. You can view the output at the debug window on the right side by clicking on the bug icon.\n\n## Congratuations! You have minted your first asset on an Asset Tokenisaton Contract through SettleMint! \n\nCTA \n\n---\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsettlemint%2Fpolygon-asset-tokenisation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsettlemint%2Fpolygon-asset-tokenisation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsettlemint%2Fpolygon-asset-tokenisation/lists"}