Smart Contract used in BISS(Updated after Hackathon)
BISS ์์คํ
์์ ์ฌ์ฉ๋๋ ์ค๋งํธ ์ปจํธ๋ํธ์
๋๋ค.
๋ฐ์ดํฐ ์ ์ก ๋ฐ ์์
๋๋ฐ์ด์ค๋ ์์ ์ Klaytn ์ง๊ฐ ์ฃผ์๋ฅผ sender๋ก sendData()๋ฅผ ํธ์ถํ๊ณ , ๋์์ค๋ receipt์ txHash๋ฅผ ์๋ฒ๋ก ๋ณด๋
๋๋ค.
์๋ฒ๋ txHash์ ํธ๋์ญ์
์ ์กฐํํ๊ณ , ์ ์ก๋ ๋ฐ์ดํฐ๋ฅผ ๊ตฌํฉ๋๋ค.
Biss . methods . saveData ( 'ASDF' ) . send ( { from : '0x81733c8d5ee8c76241c33537c072cd05d71b3d21' } )
์ด๋ฆ
ํ์
์ค๋ช
_message
string
์ ์กํ ๋ฉ์ธ์ง
txHash์์ ๋ฐ์ดํฐ ๊บผ๋ด๊ธฐ
๋จ์ํ ์ด๋ฐ ๊ธฐ๋ฅ๋ง ํ์ํ ์๋ฒ ๋ฐ END ๋๋ฐ์ด์ค๋ ๋ณธ ์ ์ฅ์๋ฅผ ํด๋ก ํ ํ์๊ฐ ์์ต๋๋ค.
https://apiscope.klaytn.com/api/transaction/{txHash}๋ก GET ๋ฆฌํ์คํธ๋ฅผ ๋ณด๋ธ ๋ค ["result"]["input"]์ hex ๋ฐ์ดํฐ๋ฅผ ASCII๋ก ๋ณํํ๋ฉด ๋ฉ๋๋ค. ์๋์ ๊ฐ์ด caver-js์ hexToAscii๋ฅผ ์ด์ฉํ๊ฑฐ๋, ๋ค๋ฅธ ๋ฐฉ๋ฒ ์ ์ด์ฉํ ์ ์์ต๋๋ค.
var Caver = require ( 'caver-js' ) ;
var caver = new Caver ( ) ;
console . log ( caver . utils . hexToAscii ( hex ) ) ;
ASDF๊ฐ ๋ฐ์ดํฐ๋ผ๊ณ ํ๋ฉด, ๊ฒฐ๊ณผ๋ ๋์ถฉ ์๋ ๊ฐ์ ๊ฑฐ์์.
์์ ์๋ 4๊ฐ ๋ฌธ์(รjร )๋ฅผ ์ ๊ฑฐํด์ฃผ๊ณ ์ด์ฉํ๋ฉด ๋~! ๋ฌผ๋ก , hex ๋ฐ์ดํฐ๋ฅผ ASCII๋ก ๋ฐ๊พธ๋ ๊ณผ์ ์์ ์์ ๋ ์ข๊ฒ ์ง์!
ํ์จ์ด ์
๋ฐ์ดํธ ๊ด๋ จ
Biss . methods . saveKey ( '1' , 'I9L1bUJyY5289a0eec94a441e9624d5108c4f8c084' ) . send ( { from : '0x81733c8d5ee8c76241c33537c072cd05d71b3d21' } )
์ด๋ฆ
ํ์
์ค๋ช
_fileID
string
ํ์ผ ID
_key
string
ํ์ผ key
Biss . methods . saveHash ( file_id , hash ) . send ( { from : '0x81733c8d5ee8c76241c33537c072cd05d71b3d21' } )
์ด๋ฆ
ํ์
์ค๋ช
_fileID
string
ํ์ผ ID
_hash
string
ํ์ผ hash
Biss . methods . verifyHash ( '1' , '931d9212c4071dc694a9d73e6533c7d4' ) . call ( )
์ด๋ฆ
ํ์
์ค๋ช
_fileID
string
ํ์ผ ID
_hash
string
ํ์ผ hash
ํ์
์ค๋ช
bool
๋ธ๋ก์ฒด์ธ์ ์ ์ฅ๋ _fileID์ ํด์์ _hash๊ฐ ๊ฐ์ ๊ฒฝ์ฐ true