Multisign
In het volgende KB-artikel wordt uitgelegd hoe u een Haven Multisig CLI-portemonnee.
Deze instructies zijn gebaseerd op een 2/3 multisig, wat betekent dat van de in totaal drie geautoriseerde ondertekenaars er twee nodig zijn om een transactie geldig te maken.
In het kort zijn dit de stappen die nodig zijn om een transactie aan te maken en te verzenden, op voorwaarde dat er al een multisig-portemonnee is aangemaakt:
- Synchroniseer portefeuilles A en B.
- Multisig-sleutelafbeelding exporteren uit A.
- Importeer een multisig-sleutelafbeelding in B.
- Genereer TX van B.
- Importeer TX in A, onderteken het daar en dien het vervolgens in.
Vereisten
In dit artikel wordt ervan uitgegaan dat u de CLI eerder hebt gebruikt.
Als dit niet het geval is, is het raadzaam om eerst vertrouwd te raken met het gebruik van de CLI. Zoek naar "cli" en "local node" op onze KB-pagina's om aan de slag te gaan.
Maak een nieuwe portemonnee
- Download de laatste CLI-app.
- Loop havend en zorg ervoor dat de daemon volledig gesynchroniseerd is.
- Elke partij (in dit geval 3) moet een nieuwe portemonnee aanmaken met behulp van haven-wallet-cli (zorg ervoor dat mijnbouw op de achtergrond NIET is ingeschakeld).
- Sluit de portemonnee af, maak een back-up van het zaad en maak een kopie van de portemonneebestanden (voor het geval u de stappen moet herhalen).
- Log opnieuw in op de portemonnee en voer de volgende opdrachten uit:
set enable-multisig-experimenteel 1
stel automatisch vernieuwen in op 0
Portefeuilles klaarmaken
- Alle partijen moeten het volgende commando typen:
prepare_multisig
. - Stuur de uitvoer naar ALLE andere partijen (gebruik een beveiligd platform zoals Element voor het delen). De uitvoer zou er als volgt uit moeten zien:
MultisigxV2R1TYQNzErUgssPfURuXVvEq1M4QfUgpBLrz2HXGKkyaonPCH8Kv6jQLqEGEXUtuJNjELcqLUNHKfEopDqtsyzz4sEbCWhtRanxGm8amKYDHmfFjRCVsR3Xmot8RGLp6WN5KQNLUEpsFNpePMk W8yomYrCFLpCkJ72fkjKOOP1qx6TH8L3wQ
. - Alle partijen moeten het volgende commando typen:
make_multisig 2
waar En overeenkomen met de ander gegevens van partijen gedeeld in stap 7.
Het commando zou er als volgt uit moeten zien:
make_multisig 2 MultisigxV2R1TYQNzErUgssPfURuXVvEq1M4QfUgpBLrz2HXGKkyaonPCH8Kv6jQLqEGEXUtuJNjELcqLUNHKfEopDqtsyzz4sEbCWhtRanxGm8amKYDHmfFjRCVsR3Xmot8RGLp6WN5K QNLUEpsFNpePMkW8yomYrCFLpCkJ72fkjBUy1qx6TH8L3wQ MultisigxV2R1MG7sQpykJTv4RMEuyQV6m1FBX9zVMPXva3dragVUh9F9FjTTmJ4DLvUNP57njearPRbHnFv1NvKMeL1yQTdbcy7nQ1r4rD vJQzHhNvUeCFzAm6TLhwwjAiqfUBtS6ajBFZ8XVsGwLhCc1S3jK7ffsAKaRF9cLyEzJgpaXNShnrsY4hEK
. - Stuur de in stap 8 gegenereerde gegevens naar ALLE andere partijen. De gegevens zouden er als volgt uit moeten zien:
MultisigxV2Rn1LWRyU32PL2D4MnPtp4w5YFS6KTkanCW18adkxUTdMVJDaqQ9E1gsTRQJTZFADurxZb6w2amhCpHtWHPcykirrk3AE1AS65NxkJG4zRgQJF26m8obGa39AVDYicUsFrL3LRMHF2DUKKckJoYZcRb CUeNP4PBrExea3na2TUm7FEw995ZL5N9n7nVxysH6JdwLfDjXaWDotxZtyPn1ifXvgJHJctsFPP
. - Alle partijen moeten het volgende commando uitvoeren (1e keer):
exchange_multisig_keys
waar En komt overeen met de gegevens van andere partijen die in stap 9 zijn gedeeld.
Het commando zou er als volgt uit moeten zien:
exchange_multisig_keys MultisigxV2Rn1LWRyU32PL2D4MnPtp4w5YFS6KTkanCW18adkxUTdMVJDart7ZPUh6A328nPGtUi3hDQdFr8rNk2aSpMNquYHSbxNhNNpyt2fiGgAxt9woCBXsFtdhKm2dmqqY9qF6ewuBXCDLdJ6rYv1Lm7RyuLN4TQBBccBUesMH6FhGB4FcCncaRh8sEEqcXgR1gbZnEzG6tk81TAthWRqFCZTStSNgD9WJKG7F5 MultisigxV2Rn1LV1jgtbFBZQJTZFADurxZb6w2amhCpHtWHPcykirrk3AE15GGTSNN6328nPGtUi3hDQdFr8rNk2aSpMNquYHSbxNhNZ7Q48j4TRAauoTVenC5ZmsS8EViFdieeHtzgPFwrg9cgAX93F7g4UHyAd82BeTRZb3cxsLGQ3nTZb6ey2HN8dJa6Y8ssCniTd6Kchn4cWhS9Qqz38whxCDNYd7UJCpGCa3k1
. - Stuur de in stap 10 gegenereerde gegevens naar ALLE andere partijen. De gegevens zouden er als volgt uit moeten zien:
MultisigxV2Rn1WC6rFTBNJkY4qjHv8UYXGifkHemhyRJmXnNVtQY8dcx4T2fZBnnCy2iMAFVerhacP1UytUMaGyAN5N5XvnXqqY7fyYAaBX639tG4zRgQJF26m8obGa39AVDYicUsFrL3LRMHF3XFV xmv3XjngbXYY47EXY1BgZk6UYxBAN12Ep2ETqR6rpTvUB8QJmQkrdUpiiu146zoiHieUj2He4KwCgkPj9vK7Y
. - Alle partijen moeten het volgende commando uitvoeren (2e keer):
exchange_multisig_keys
waar En komt overeen met de gegevens van de andere ondertekenaars die in stap 11 zijn gedeeld.
Deze stap zou de multisig-portemonnee moeten genereren en u om het portemonnee-adres moeten vragen.
. - Vergelijk het portemonnee-adres met alle partijen om er zeker van te zijn dat ze hetzelfde zijn.
Als ze niet hetzelfde zijn, is er iets misgegaan en moet u opnieuw beginnen met het gebruiken van de portefeuillebestanden waarvan u een back-up hebt gemaakt in stap 4.
. - Type zaad en maak een back-up van de zaadreeks, die er als volgt uitziet (het multisig-zaad is anders dan het gebruikelijke zaad):
020000000300000005cd2e5a01ef0830eb666b838d8402795ae8f24f6e3cf2068ff8e48899aed11f500473d4c3a9b9bb9451f19facfff91def79172ed466b808f9fa2173a25d149e4a1c1161be6c029b2c4d0ca5fc806ddc1d46edc7dc3d0727a68ad2f6d24bf6086d269cfd2255f73375939820a71802e25e12abd220271a16505059cb168ce90367c23b78dda9038037406aafa4e6d8ed363f998209ab2a6432c78e5597411a0fb43da66388574bda7edbe6122ee6e8ce987a5eb553ccf3cac170b8031448aa05436d4f88e749ea315b12c6c3b93e5905d63bd6f29df0ba3f4cc888318a1f49c45813af87c6d890797fd36bb2c61ec3f0cd009ec413d1e10d71b19e4f6b893381d6a58526d2f35a1726e847e4bed22ea71f7deb2dc7aff8c7c12505345af8611a
. - Sluit de portemonnee en maak een back-up van de portemonneebestanden.
- Een van de partijen moet geld naar het gedeelde adres sturen.
- Log opnieuw in en synchroniseer de portemonnee om er zeker van te zijn dat het geld door alle partijen is ontvangen en bevestigd.
Voorbereiding voor verzending
- Ter voorbereiding op het verzenden typt Persoon 1 het commando:
export_multisig_info
<filename> is slechts een naam voor het bestand dat u wilt exporteren, het zou iets eenvoudigs moeten zijn.
Het gegenereerde bestand heet a Sleutelafbeelding, en is een momentopname van de uitvoer van de portemonnee.
. - Stuur het geëxporteerde bestand naar Persoon 2. Persoon 3 kan dit ook doen, maar is niet verplicht.
. - Persoon 2 en/of Persoon 3 downloadt het gedeelde bestand en plaatst het in dezelfde map als de CLI-app.
. - Persoon 2 of Persoon 3 typt het commando:
import_multisig_info
<filename> is hetzelfde bestand als dat gemaakt in stap 18 en gedeeld in stap 19.
. - Degene die in stap 21 de sleutelafbeelding heeft geïmporteerd, kan nu een Transactie aanmaken.
Bezig met verzenden
- Persoon 2 of Persoon 3 maakt op de gebruikelijke manier een transactie aan door het volgende te typen:
overdracht
Hierdoor wordt een bestand gemaakt met de naam multisig_haven_tx die wordt teruggestuurd naar persoon 1.
. - Persoon 1 downloadt en plaatst het bovenstaande bestand in dezelfde map als de CLI-app en typt de opdracht:
sign_multisig multisig_haven_tx
. - Eenmaal succesvol ondertekend, typt Persoon 1 de volgende opdracht om de TX in te dienen:
indien_multisig multisig_haven_tx
Opmerkingen
Als Persoon 1 en Persoon 2 een of meer TX's hebben uitgevoerd en Persoon 3 niet in de buurt was, wordt bij het synchroniseren van de kluis door Persoon 3 niet het juiste bedrag weergegeven.
Om dit op te lossen, zal Persoon 3 de laatste Sleutelafbeelding moeten importeren die in Stap 19 is gedeeld van een van de deelnemers met behulp van de opdracht in Stap 20. Eenmaal geïmporteerd, kan Persoon 3 een “vernieuwing” uitvoeren en wordt het juiste portemonneesaldo weergegeven.
Als het te lang duurt tussen het voorbereiden van het verzenden (het delen van sleutelafbeeldingen) en het maken van de TX, kan er een time-out optreden in het proces en moet u deze fase opnieuw uitvoeren.