블록체인허브 (blockchainhub.kr) - 블록체인 포털
홈 > 포럼 > 오리지날 Bitcoin 이야기
포럼포럼   오리지날 Bitcoin 이야기 Original Bitcoin인 비트코인SV(BSV) 관련 Topic들을 다룹니다. website twitter twitter

[BSV] BitcoinSV #4 Transaction with multiple inputs by 남정수

안녕하세요. 남정수입니다.

이번 화부터 제가 직접 공유해 드리기로 하였습니다. 

자리를 마련해 주신 오리지날님과 관심가져주시는 모든분들 감사드립니다.

원문: https://medium.com/@namjungsoo/bitcoinsv-4-%EB%8B%A4%EC%A4%91-%EC%9E%85%EB%A0%A5-transaction-a8f362768de

이전 글 BitcoinSV #3 Broadcast raw transaction에서는 input이 1개, output도 1개인 transaction을 만들어서 broadcast해 보았다.

우리는 이제 아래와 같은 2개의 UTXO를 사용하여 제3의 address(mzEq7c3PqB7CfN44GWnwfLMKf4b2v3fV1S)로 0.4 BSV를 보낼것이다.

private key=L2W61zaHcr1JYSgWSESLrPYZKNg6ZLGXNZqhEQW3rTsGWoC5bbgV
address=mxXdRHAp8Zy61NuMUcrp8KFDi5TjFFVA7r
https://testnet.bitcoincloud.net/address/mxXdRHAp8Zy61NuMUcrp8KFDi5TjFFVA7r
https://testnet.bitcoincloud.net/tx/e6dd19d92b53a24bd66875991bea0653fe633fc6fed79756eb07154c3cff8d37
Index: 0
Balance: 0.37 BSV
private key=KwXoptHgPq8Zhxi1uGS5C5fajkoTyVRoadLXPTRGzJzvd8v1m6cK
address=n1pGzmE3fQ11WUVKVsEdFmaVoNUofxsYXZ
https://testnet.bitcoincloud.net/address/n1pGzmE3fQ11WUVKVsEdFmaVoNUofxsYXZ
https://testnet.bitcoincloud.net/tx/118ecf191f32afef952fedf03d3be6b1b0fb110ae96e64ea3ab5a3acab56dc26
Index: 1
Balance: 0.1 BSV

이제 코드를 작성하자. uxtos에 복수개의 UXTO를 넣고, privateKeySet에도 UXTO의 갯수만큼 private key를 넣는다.

거스름돈은 우리는 0.37 BSV 전체를 사용하고, 0.1 BSV UTXO에서는 0.03만 사용할 것이므로 2번째 address(n1pGzmE3fQ11WUVKVsEdFmaVoNUofxsYXZ)로 보내자.

const bsv = require('bsv')
const Transaction = bsv.Transaction
const Script = bsv.Script

// uxto 정보를 정확하게 입력
const utxos = [{
address: 'mxXdRHAp8Zy61NuMUcrp8KFDi5TjFFVA7r',
txId: 'e6dd19d92b53a24bd66875991bea0653fe633fc6fed79756eb07154c3cff8d37',
outputIndex: 0,
script: Script.buildPublicKeyHashOut('mxXdRHAp8Zy61NuMUcrp8KFDi5TjFFVA7r').toString(),
satoshis: 37000000
}, {
address: 'n1pGzmE3fQ11WUVKVsEdFmaVoNUofxsYXZ',
txId: '118ecf191f32afef952fedf03d3be6b1b0fb110ae96e64ea3ab5a3acab56dc26',
outputIndex: 1,
script: Script.buildPublicKeyHashOut('n1pGzmE3fQ11WUVKVsEdFmaVoNUofxsYXZ').toString(),
satoshis: 10000000
}]

const privateKeySet = ['L2W61zaHcr1JYSgWSESLrPYZKNg6ZLGXNZqhEQW3rTsGWoC5bbgV', 'KwXoptHgPq8Zhxi1uGS5C5fajkoTyVRoadLXPTRGzJzvd8v1m6cK']

const transaction = new Transaction()
.from(utxos)
.to('mzEq7c3PqB7CfN44GWnwfLMKf4b2v3fV1S', 40000000)
.fee(400)
.change('n1pGzmE3fQ11WUVKVsEdFmaVoNUofxsYXZ')
.sign(privateKeySet)

const str = transaction.serialize(true)
console.log(str)

실행하면 다음과 같은 raw transaction을 얻는다.

0100000002378dff3c4c1507eb5697d7fec63f63fe5306ea1b997568d64ba2532bd919dde6000000006a47304402203ab6f17f2e80c719e7c7242ce8552acb05698d9f555bc121ab884e17d069f27a0220768fed66445ff9990822d478e3f88070556099313721fa6a84a1e87c8eae0bb841210323c00f7a0593a8f99adfb6b60568967ea920d1af497f470f33f49584fe60b37affffffff26dc56abaca3b53aea646ee90a11fbb0b1e63b3df0ed2f95efaf321f19cf8e11010000006b483045022100f2ac7d0ef5fea1bfa3164acc9209b9147ad3bae07b7dc30585122daceb75f82d022039fd045b6993e5fadddf23b4405b28ee8ba254f889e74450bd82fec555dfc3fe4121037dbd5f2cfed101ccc1d33369f082df43ed9fefdc382c33593c65868f0e60db4bffffffff02005a6202000000001976a914cd5dbda5c6eee8bea9d0de85726e0f4af1c5195b88ac30ce6a00000000001976a914dea932d5abd3a67331eea5297f95d0ca3ce7175188ac00000000

이제 decoderawtransaction API를 호출하여 검증하자.

bitcoin-cli -testnet decoderawtransaction 0100000002378dff3c4c1507eb5697d7fec63f63fe5306ea1b997568d64ba2532bd919dde6000000006a47304402203ab6f17f2e80c719e7c7242ce8552acb05698d9f555bc121ab884e17d069f27a0220768fed66445ff9990822d478e3f88070556099313721fa6a84a1e87c8eae0bb841210323c00f7a0593a8f99adfb6b60568967ea920d1af497f470f33f49584fe60b37affffffff26dc56abaca3b53aea646ee90a11fbb0b1e63b3df0ed2f95efaf321f19cf8e11010000006b483045022100f2ac7d0ef5fea1bfa3164acc9209b9147ad3bae07b7dc30585122daceb75f82d022039fd045b6993e5fadddf23b4405b28ee8ba254f889e74450bd82fec555dfc3fe4121037dbd5f2cfed101ccc1d33369f082df43ed9fefdc382c33593c65868f0e60db4bffffffff02005a6202000000001976a914cd5dbda5c6eee8bea9d0de85726e0f4af1c5195b88ac30ce6a00000000001976a914dea932d5abd3a67331eea5297f95d0ca3ce7175188ac00000000
{
"txid": "97d00f16957e342addfe6796287fe8b2754d1e0c929cfaf2e46daec1101ffa3d",
"hash": "97d00f16957e342addfe6796287fe8b2754d1e0c929cfaf2e46daec1101ffa3d",
"size": 373,
"version": 1,
"locktime": 0,
"vin": [
{
"txid": "e6dd19d92b53a24bd66875991bea0653fe633fc6fed79756eb07154c3cff8d37",
"vout": 0,
"scriptSig": {
"asm": "304402203ab6f17f2e80c719e7c7242ce8552acb05698d9f555bc121ab884e17d069f27a0220768fed66445ff9990822d478e3f88070556099313721fa6a84a1e87c8eae0bb8[ALL|FORKID] 0323c00f7a0593a8f99adfb6b60568967ea920d1af497f470f33f49584fe60b37a",
"hex": "47304402203ab6f17f2e80c719e7c7242ce8552acb05698d9f555bc121ab884e17d069f27a0220768fed66445ff9990822d478e3f88070556099313721fa6a84a1e87c8eae0bb841210323c00f7a0593a8f99adfb6b60568967ea920d1af497f470f33f49584fe60b37a"
},
"sequence": 4294967295
},
{
"txid": "118ecf191f32afef952fedf03d3be6b1b0fb110ae96e64ea3ab5a3acab56dc26",
"vout": 1,
"scriptSig": {
"asm": "3045022100f2ac7d0ef5fea1bfa3164acc9209b9147ad3bae07b7dc30585122daceb75f82d022039fd045b6993e5fadddf23b4405b28ee8ba254f889e74450bd82fec555dfc3fe[ALL|FORKID] 037dbd5f2cfed101ccc1d33369f082df43ed9fefdc382c33593c65868f0e60db4b",
"hex": "483045022100f2ac7d0ef5fea1bfa3164acc9209b9147ad3bae07b7dc30585122daceb75f82d022039fd045b6993e5fadddf23b4405b28ee8ba254f889e74450bd82fec555dfc3fe4121037dbd5f2cfed101ccc1d33369f082df43ed9fefdc382c33593c65868f0e60db4b"
},
"sequence": 4294967295
}
],
"vout": [
{
"value": 0.40000000,
"n": 0,
"scriptPubKey": {
"asm": "OP_DUP OP_HASH160 cd5dbda5c6eee8bea9d0de85726e0f4af1c5195b OP_EQUALVERIFY OP_CHECKSIG",
"hex": "76a914cd5dbda5c6eee8bea9d0de85726e0f4af1c5195b88ac",
"reqSigs": 1,
"type": "pubkeyhash",
"addresses": [
"bchtest:qrx4m0d9cmhw304f6r0g2unwpa90r3getvqtz0y9k2"
]
}
},
{
"value": 0.06999600,
"n": 1,
"scriptPubKey": {
"asm": "OP_DUP OP_HASH160 dea932d5abd3a67331eea5297f95d0ca3ce71751 OP_EQUALVERIFY OP_CHECKSIG",
"hex": "76a914dea932d5abd3a67331eea5297f95d0ca3ce7175188ac",
"reqSigs": 1,
"type": "pubkeyhash",
"addresses": [
"bchtest:qr02jvk440f6vue3a6jjjlu46r9reech2yg0meg5rh"
]
}
}
]
}

검증이 완료되었으면 broadcast 하자. 최종 transaction hash는 97d00f16957e342addfe6796287fe8b2754d1e0c929cfaf2e46daec1101ffa3d이다.

bitcoin-cli -testnet sendrawtransaction 0100000002378dff3c4c1507eb5697d7fec63f63fe5306ea1b997568d64ba2532bd919dde6000000006a47304402203ab6f17f2e80c719e7c7242ce8552acb05698d9f555bc121ab884e17d069f27a0220768fed66445ff9990822d478e3f88070556099313721fa6a84a1e87c8eae0bb841210323c00f7a0593a8f99adfb6b60568967ea920d1af497f470f33f49584fe60b37affffffff26dc56abaca3b53aea646ee90a11fbb0b1e63b3df0ed2f95efaf321f19cf8e11010000006b483045022100f2ac7d0ef5fea1bfa3164acc9209b9147ad3bae07b7dc30585122daceb75f82d022039fd045b6993e5fadddf23b4405b28ee8ba254f889e74450bd82fec555dfc3fe4121037dbd5f2cfed101ccc1d33369f082df43ed9fefdc382c33593c65868f0e60db4bffffffff02005a6202000000001976a914cd5dbda5c6eee8bea9d0de85726e0f4af1c5195b88ac30ce6a00000000001976a914dea932d5abd3a67331eea5297f95d0ca3ce7175188ac00000000
97d00f16957e342addfe6796287fe8b2754d1e0c929cfaf2e46daec1101ffa3d

이제 아래의 주소에서 transaction hash로 확인을 해보자. https://testnet.bitcoincloud.net/tx/97d00f16957e342addfe6796287fe8b2754d1e0c929cfaf2e46daec1101ffa3d

최초에는 unconfirmed 상태이다.

채굴 되기를 기다리면 confirmed가 된다.

최종 confirm이후에 거스름돈 UXTO 확인할 수 있다.

추천&비추천 정책안내

, , , , , , ,

신고
  • 카카오톡으로 보내기
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기
  • 카카오스토리로 보내기
  • 네이버밴드로 보내기
  • 네이버로 보내기
  • 텀블러로 보내기
  • 핀터레스트로 보내기

Comments

오리지날 19-11-05 21:40 0   0
남정수 개발자님 감사합니다! 앞으로도 개발 관련 유익한 글들 많이 올려주세요^^
오리지날 19-11-05 21:41 0   0
참고로 미디엄 블로그에서 글을 복사해다 붙이면 흐릿한 이미지 하나가 중복으로 붙더라구요. 작성하신 다음 수정이 한번 필요합니다~
오미재박 19-11-05 21:43 0   0
좋은 글 공유 감사합니다~ 개발하시는 분들에게 많은 도움이 될 것 같네요.
Kkkkk 19-11-07 00:16 0   0
가즈아~~~~
편한밤되세요.~~^:^~~♡
kane1006 19-11-09 10:28 0   0
감사합니다

축하합니다! 행운의 2 HUB가 적립되었습니다 ^.^


[BSV] 오늘날 만연한 비트코인에 대한 잘못된 인식 뽀개기 — CSW 9

비트코인SV 메타넷 ICU 슬랙의 아래 크박사의 강의를 번역한 내용입니다. 제가 본문을 읽고 이해하기 위해 의역을 해야만 했기때문에 오역이 있을 수 있습니다. 오역에 대한 의견 부탁드립니다. 메타넷 ICU 슬랙 #bitcoin-general 채널에 한해 크박사의 글만 외부 공유가 가능한 점 참고 바랍니다...
| 11 | 2시간전

[BSV] 11월 15일, 비트코인 독립 1주년 80

11월 15일오늘은 사토시가 꿈꿨던혁신적인 글로벌 스케일P2P 전자화폐 시스템으로비트코인을 회복시키기 위해진짜 Bitcoiner들이 뼈아픈체인 분리를 감행하여오리지널 프로토콜비트코인(BSV)을독립시킨날입니다.독립 1주년을 기념하여비트코인SV글로벌 사이트가새로 만들어졌습니다.한국의 열성 BSV 지지자분들의...
| 94 | 2019.11.15

[BSV] 비트코인SV 2nd 밋업 in 이태원 (12/16, 19:00) 20

[12월 16일, 두번째 서울 BSV 밋업 공지]* 코인긱과 비트코인 협회 주관아래, 두번째 서울 BSV 밋업이 이태원 바토스에서 개최됩니다. 이번 밋업은 원스토어의 "Buskon" 런칭을 기념하며 뮤지션의 공연과 더불어 BSV의 이해를 높이기 위한 메타넷 개론 및 실제 개발 사례등을 발표하는 자리가 될...
| 28 | 2019.11.13

[BSV] 빅블록에 대한 무지와 오해 뽀개기 12

이번 글은 포럼 초기에 올렸던 이글과도 중복되는 부분이 많긴 하지만, 한국 커뮤니티 내에 블록크기에 대한 무지와 오해가 너무 많은 것 같아 다시 한번 정리해보고자 합니다. (제가 글에서 언급하는 비트코인은 오리지날 프로토콜로서의 비트코인을 말하며 BTC가 아닙니다. 현재 오리지날 비트코인 모습에 가장 가...
| 18 | 2019.11.13

[BSV] 전직 nChain CEO가 왜 워싱턴 DC에??? 8

https://twitter.com/JimmyWinMedia/status/1194377206216175617"워싱턴 DC에서 회의의 첫날이 끝났습니다. 비트코인, 암호화폐, 법에 대해 많은 기관들과 논의할게 많네요."라고 오늘 트윗을 날린 지미 응우옌*.* 지미 응우옌은 전직 nChain의 CEO였으며,...
| 16 | 2019.11.13

[BSV] BitcoinSV #4 Transaction with multiple inputs by 남정수 19

안녕하세요. 남정수입니다.이번 화부터 제가 직접 공유해 드리기로 하였습니다.자리를 마련해 주신 오리지날님과 관심가져주시는 모든분들 감사드립니다.원문:https://medium.com/@namjungsoo/bitcoinsv-4-%EB%8B%A4%EC%A4%91-%EC%9E%85%EB%A0%A5-transa...
| 28 | 2019.11.05

[BSV] 비트코인의 지불 채널(Payment Channels) 과 스마트컨트랙트(Smart Contracts) by Wei Zhang — Senior Researcher, nCh… 17

이 글은 nChain 의 수석연구원 Wei Zhang 의 아래 링크 글을 번역한 글입니다. (번역과 게시에 대한 원작자의 사전허락을 득하였습니다.) 제가 이해한 내용을 바탕으로 일반인들이 이해하기 쉽게 의역이 추가 되어 오역이 있을 수 있습니다. 오역과 의견에 대한 댓글 부탁드립니다.원글 :https:/...
| 28 | 2019.11.05

[뉴스] 페이스북이 비트코인SV를 활용할 수 있는 방법 by Ryan X. Charles (CEO of Money Button) 34

페이스북이 비트코인 SV를 활용할 수 있는 방법만약 페이스북이 비트코인SV(BSV) 블록체인에 리브라 암호화 솔루션을 출시하기로 결정하기만 했다면 덜 골치가 아팠을 것입니다. 비트코인은 글로벌 금융 규제와 정부에 따라 사용하도록 만들어졌습니다. BSV는 비트코인의 최초 백서(White paper)를 준수...
| 51 | 2019.11.02

[뉴스] 비트코인SV노드 버전 0.2.2는 STN재설정 시 처리 용량을 증가 32

비트코인SV노드 버전 0.2.2는 STN재설정 시 처리 용량을 증가비트코인SV(BSV)는 Genesis(제네시스)로 복귀을 위해 꾸준히 개발하며 나아가고 있습니다.10월 30일 BSV노드 팀은 노드 구현의 0.2.2 버전을 출시하여 2020년 2월에 완성될 예정인 Genesis Protocol(제네시스 ...
| 47 | 2019.11.02

[BSV] 지난 크레이그 박사 칼럼에 대한 이해 돕기 (내용 추가됨) 29

지난 번 <만약 금이 납으로 바뀐다면>(<=못 보신 분 클릭)이라는 크레이그 라이트 칼럼 중 이해가 잘 안되는 부분이 있어 BSV 기술토론방에 도움을 구하였습니다. 몇몇분들이 의견을 말씀해주셨는데, 읽어보시면 칼럼과 BSV에 대해 더 깊이 이해하실 수 있을 것 같아 이 번 포스팅을 통해 ...
| 39 | 2019.10.28

[BSV] BitcoinSV #3 Broadcast raw transaction by 남정수 14

본 글은 원스토어의 야침찬 블록체인 온라인 버스킹 뮤직 플랫폼,BUSKON의 개발자이신 남정수님이 미디엄 블로그에 올리신 글입니다. BSV 개발자들에게 도움이 될만한 글입니다. 남 개발자님의 허락을 받아 게재하오니 유용하게 사용하시기 바랍니다.====================이전 글BitcoinSV ...
| 19 | 2019.10.28

[BSV] 만약 금이 납으로 바뀐다면 by 크레이그 라이트 61

10월 21일에 크레이그 라이트 블로그에 올라온 글을 번역한 글입니다. 매끄러운 이해를 위해 부분적으로 의역을 하였습니다.비트코인이 무엇인지 제대로 이해하지 못해 그것을 범죄에 사용한 "멍청한" 사람들에 대한 이야기이며, BTC와 BCH 커뮤니티 내에 퍼져있는 사이버펑크, 무정부주의 사상에 입각한 비트코...
| 75 | 2019.10.26

[BSV] BitcoinSV #2 Create a raw transaction by 남정수 8

본 글은 원스토어의 야침찬 블록체인 온라인 버스킹 뮤직 플랫폼,BUSKON의 개발자이신 남정수님이 미디엄 블로그에 올리신 글입니다. BSV 개발자들에게 도움이 될만한 글입니다. 남 개발자님의 허락을 받아 게재하오니 유용하게 사용하시기 바랍니다.====================BitcoinSV #2 t...
| 17 | 2019.10.25

[BSV] BitcoinSV #1 Generate a Bitcoin address by 남정수 7

본 글은 원스토어의 야침찬 블록체인 온라인 버스킹 뮤직 플랫폼, BUSKON의 개발자이신 남정수님이 미디엄 블로그에 올리신 글입니다. BSV 개발자들에게 도움이 될만한 글입니다. 남 개발자님의 허락을 받아 게재하오니 유용하게 사용하시기 바랍니다.====================BitcoinSV #1 ...
| 17 | 2019.10.24

[BSV] BitcoinSV 앱 프로토콜 생성기, unwriter의 Bitcom by 준 7

본 글은 국내 BSV 개발자이신 "준"님이 미디엄 블로그에 올리신 글입니다. 준 개발자님의 허락을 받아 게재합니다."준" 개발자================BSV에 혜성처럼 나타난_unwriter는 BSV 개발 생태계에 많은 기여를 하고있습니다. 그 한가운데에 있는Bitcom에 대해 소개합니다. Bitc...
| 15 | 2019.10.24

[BSV] 2019년 10월 23일, 역사의 시작 56

2019년 10월 23일,오늘은 크레이그 라이트 박사의 생일이면서비트코인SV 블록체인의 일 평균 블록사이즈가스트레스 테스트 없이 노멀한 상황에서BTC 블록사이즈를 넘어선 첫번째 날입니다.오늘 이후부터는 매일매일이 역사가 될 것입니다.=====================================아래는...
| 71 | 2019.10.24

[BSV] 비트코인은 중립 데이터베이스이다 by 백종찬 61

중립 데이터 베이스로서의 비트코인,비트코인은 머니 그 이상입니다.백종찬님의 글을 통해 무슨 이야기인지확인해보시기 바랍니다.역시 깊은 이해를 위해 삼독을 권합니다.※ 링크#2로 가시면 머니버튼을 통해 백종찬님에게 소액 기부 가능합니다읽으러 Go Go! ▷https://brunch.co.kr/@jeffpai...
| 75 | 2019.10.21

[BSV] 블록체인은 OO이다 by 백종찬 56

엔터프라이즈급 대중 수용을 위해 블록체인이필수적으로 갖춰야할 조건이 무엇인지 짚어주는백종찬님의 매우 통찰력 있는 글입니다.역시 깊은 이해를 위해 삼독을 권합니다.※ 링크#2로 가시면 머니버튼을 통해 백종찬님에게 소액 기부 가능합니다읽으러 Go Go! ▷https://brunch.co.kr/@jeffpai...
| 74 | 2019.10.20

[Earn & Use]토닉 포우 실험의 결과(핸캐이벤트) 81

눈깜짝할 사이에 1주일이 지나갔습니다.토닉포우의 실험 결과를 여러분과 공유하고자 합니다.정말 놀랄만한 결과가 나왔는데요. 먼저 여러분에게 사진으로 보여드리도록 하겠습니다 실험 전 지갑 잔액* 111원* 108,992 사토시 즉, 0.00108992BSV이 실험 이후 전 타 계좌에서 제가 직접 송금을 하지...
| 79 | 2019.10.19

[뉴스] BSV, BTC의 하루 총 트랜잭션 수를 넘어서다! 13

오늘 코인해시리포트(www.coinhashreports.com)라는암호화폐 및 블록체인 전문 미디어에서BSV 관련 기사를 메인 기사로 내어 소개해드립니다.==============비트코인SV가 BTC의 하루 총 트랜잭션 수를 넘어서다.원문 기사 보기기술의 성공과 유용성에 대한 가장 큰 지표 중 하나는 기...
| 19 | 2019.10.16