{"id":13670452,"url":"https://github.com/kadena-community/kadena-transfer-js","last_synced_at":"2025-07-15T18:30:37.959Z","repository":{"id":40673988,"uuid":"227695667","full_name":"kadena-community/kadena-transfer-js","owner":"kadena-community","description":"Simple Javascript tools to transfer Kadena coins ","archived":false,"fork":false,"pushed_at":"2024-01-31T09:12:05.000Z","size":15846,"stargazers_count":5,"open_issues_count":23,"forks_count":9,"subscribers_count":18,"default_branch":"master","last_synced_at":"2024-11-11T08:40:49.826Z","etag":null,"topics":["kadena"],"latest_commit_sha":null,"homepage":"https://transfer.chainweb.com","language":"JavaScript","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/kadena-community.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}},"created_at":"2019-12-12T21:00:42.000Z","updated_at":"2023-07-27T12:06:07.000Z","dependencies_parsed_at":"2023-10-19T17:45:23.001Z","dependency_job_id":"82fc27cb-1e84-4503-847c-43f0d963f80d","html_url":"https://github.com/kadena-community/kadena-transfer-js","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kadena-community%2Fkadena-transfer-js","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kadena-community%2Fkadena-transfer-js/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kadena-community%2Fkadena-transfer-js/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kadena-community%2Fkadena-transfer-js/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kadena-community","download_url":"https://codeload.github.com/kadena-community/kadena-transfer-js/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":226061341,"owners_count":17567629,"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":["kadena"],"created_at":"2024-08-02T09:00:42.596Z","updated_at":"2025-07-15T18:30:37.941Z","avatar_url":"https://github.com/kadena-community.png","language":"JavaScript","funding_links":[],"categories":["Projects"],"sub_categories":[],"readme":"# kadena-transfer-js\n\nKadena Transfer Tool supports simple KDA coin transfers. The frontend is deployed here: https://transfer.chainweb.com/\n\nThe old frontend is deployed here: https://kadena-community.github.io/kadena-transfer-js/\n\nTo integerate an exchange backend to Kadena's blockchain ecosystem, please visit kda-exchange-integration repo: https://github.com/kadena-io/kda-exchange-integration\n\n## Single Chain Transfer\n\nThere are two ways to transfer KDA on a single chain. Kadena Transfer Tool uses `transfer-create` by default.\n  1. `transfer`\n  2. `transfer-create`\n\nYou can learn more about KDA coin contract [here](https://github.com/kadena-io/chainweb-node/blob/master/pact/coin-contract/coin.pact).\n\n### transfer-create\n\n**transfer-create** is executed between:   \n- One EXISTING account and one NON-EXISTING account that will be created by this transaction\n- Two EXISTING accounts\n\nThe function takes in the following arguments:\n- Sender Account\n- Receiver Account\n- Receiver Guard\n- Amount\n\nand requires a signature of the sender Keypair.\n\nYou should use this function if you are creating a new account and transferring KDA coin.\nIf you already have the receiver account, this function is still useful if you know the guard of the receiver account.\nThis will be a more conservative approach than `coin.transfer` which prevents you from transferring to a wrong account by checking the receiver guard.\n\n### transfer\n\n**transfer** is executed between:\n- Two EXISTING accounts.\n\nThe function takes in the following arguments:\n- Sender Account\n- Receiver Account\n- Amount\n\nand requires a signature of the sender keypair.\n\nYou should use this function ONLY IF you are completely sure about the receiver account.\n\n## Cross Chain Transfer\n\nCross chain transfer is a more complex transaction than single chain transfer, in that it involves a stepwise function with two steps and SPV proof fetching. You can learn more about the concept of [\"pacts\"](https://pact-language.readthedocs.io/en/latest/pact-reference.html#asynchronous-transaction-automation-with-pacts), which is a sequential transactions in Pact Language. Simply speaking, user needs to make 3 requests in order to make a cross chain transfer while user can complete a single chain transfer with 1 request:\n1. Initiate the transfer on the source chain. (step 1)\n2. Fetch SPV proof on the source chain.\n3. Complete the transfer on the target chain. (step 2)\n\n### transfer-crosschain\n\n  **transfer-crosschain** is executed between:\n  - One EXISTING account on one chain and one EXISTING account on a different chain\n  - One EXISTING account on one chain and one NON-EXISTING account on a different chain that will be created by this transaction\n\n  The function takes in the following arguments:\n  - Sender Account\n  - Receiver Account\n  - Receiver Guard\n  - Target Chain\n  - Amount\n\n  and requires:\n   - a signature of the sender keypair on the source chain\n   - gas payer of the target chain\n   - a signature of gas payer on the target chain.\n\n## Update ledger-os.js (Bundled dependencies)\n\n Sometimes all ledger dependencies gets updates in their repos so we need\n to get the file ledger-os.js updated as well.\n\n To do this we need follow those steps:\n - install browserify globally\n - cd ledger-bundle\n - npm run-script build\n\n The desired file should appear on the util folder.\n\n## Docker\n\n```\ndocker build -t kadenatransfer .\ndocker run --name kadenatransfer -p 8181:80 kadenatransfer\n```\nOnce built, visit http://localhost:8181\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkadena-community%2Fkadena-transfer-js","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkadena-community%2Fkadena-transfer-js","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkadena-community%2Fkadena-transfer-js/lists"}