{"id":22421817,"url":"https://github.com/ringecosystem/msgport","last_synced_at":"2025-08-01T06:30:50.871Z","repository":{"id":163315719,"uuid":"638090664","full_name":"ringecosystem/msgport","owner":"ringecosystem","description":"Msgport is unified interface for sending and receiving messages across different chains","archived":false,"fork":false,"pushed_at":"2024-06-13T08:25:25.000Z","size":1068,"stargazers_count":10,"open_issues_count":34,"forks_count":1,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-09-05T23:08:31.416Z","etag":null,"topics":["cross-chain","evm","message","smart-contracts"],"latest_commit_sha":null,"homepage":"https://scan.msgport.xyz/","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/ringecosystem.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":"SUPPORTED.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-05-09T04:09:04.000Z","updated_at":"2024-09-05T00:48:50.000Z","dependencies_parsed_at":null,"dependency_job_id":"584a8a16-0241-4f15-ab0a-557e03216431","html_url":"https://github.com/ringecosystem/msgport","commit_stats":null,"previous_names":["msgport/msgport","ringecosystem/msgport"],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ringecosystem%2Fmsgport","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ringecosystem%2Fmsgport/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ringecosystem%2Fmsgport/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ringecosystem%2Fmsgport/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ringecosystem","download_url":"https://codeload.github.com/ringecosystem/msgport/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228339330,"owners_count":17904513,"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":["cross-chain","evm","message","smart-contracts"],"created_at":"2024-12-05T17:09:39.731Z","updated_at":"2024-12-05T17:09:40.447Z","avatar_url":"https://github.com/ringecosystem.png","language":"Solidity","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MSGPORT\n\nDarwinia Msgport is built upon a flexible and modular architecture, allowing users to harness various cross-chain messaging layers that best suit their specific needs. Msgport provides support for sending arbitrary messages through different low-level cross-chain messaging services.\n\n## Example receiver dApp\n\nFor an example receiver dApp, please refer to the [ExampleReceiverDapp](./src/examples/ExampleReceiverDapp.sol) file.\n\n## Sending message\n\n1. Obtain the message port addres.\n\n    a. From the address list part: [Supported chains](./SUPPORTED.md)\n\n    or\n\n    b. Through portRegistry contract: `portRegistry.get(uint256 chainId, bytes4 code)`\n\n2. Retrieve the `fee` and adapter `params` from the [Msgport API](https://github.com/darwinia-network/darwinia-msgport-api/blob/main/README.md)\n\n3. Send the message using the following parameters\n\n    - toChainId: uint256 - Use the standard EVM chainId. [Supported chains](./SUPPORTED.md)\n\n    - toDapp: address - The address of your receiver dApp.\n\n    - message: bytes - The payload of your message.\n\n    - params: bytes - Adapter params obtained from the Msgport API in step 2.\n\n    ```sol\n    messagePort.send(toChainId, toDapp, message, params);\n    ```\n\n4. You can verify the senderPort and senderDapp addresses when reciving the message.\n\n    For an example, please check [Verify example](./src/examples/ExampleReceiverDapp.sol)\n\n## Develop\n\n### Foundry\n\nTo install dependencies and compile contracts:\n\n```sh\ngit clone --recurse-submodules https://github.com/darwinia-network/darwinia-msgport.git \u0026\u0026 cd darwinia-msgport\nmake tools\nmake\n```\n\n## Security and Liability\n\nAll contracts are WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fringecosystem%2Fmsgport","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fringecosystem%2Fmsgport","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fringecosystem%2Fmsgport/lists"}