File

Contract 모듈 기능 중 File은 계약서를 체인에 기록하거나 조회를 할 수 있습니다.

Contents

NameDescription

진행이 완료된 계약서를 체인에 Hash로

기록할 수 있습니다.

체인에 기록되어 있는 계약 정보를 Hash로 조회합니다.

체인에 기록되어 있는 모든 계약 정보를 조회합니다.

createContractFile 트랜잭션 실행 시 필요 가스

비용을 예상합니다.

API 호출을 위한 파라미터들의 정보입니다.

1. createContractFile

계약서를 체인에 기록하는 함수(트랜잭션 생성)입니다. * 체인에 기록되면 더이상 수정이 되지 않기에, 계약 진행이 완료된 계약서만 올리는 것이 좋습니다.

Parameters

NameTypeExample

wallet

Object (FirmaWalletService)

You can check the usage through the "Github example source".

fileHash

String

"da39330a6dfd90a91563603950f742240fa222580beecf36e141fe6410184e8b1669119707"

timeStamp

Number

1669182016039

ownerList

Array (String)

["firma1epg9kx7nqz32dykj23p6jreqfh5x0wdy5a43qc"]

metaDataJsonString

String (JSON)

'{"storage":"ipfs","encryptIpfsHash":["U2FsdGVkX19UsL3m7Cq2bOtTCQArqZTuLgz7mfdRtXM2MnIgm67GM26GtPELsVL8s4+IN2Vj9FbFzpFj3rwfaw=="]}'

txMisc (Not required)

Object (TxMisc)

{fee:200000,gas:163821,memo:"custom message"}

Return value

{
  code: 0,
  height: 413187,
  rawLog: ‘[{
            "events": [{
              "type": "message",
              "attributes": [{
                "key":"action",
                "value":"CreateContractFile“
              }]
            }]
          }]’,
  transactionHash: "2856B8B0C6B49CD...78EEB558D86421F",
  gasUsed: 70898,
  gasWanted: 200000
}

2. getContractFile​

체인에 기록되어 있는 계약서를 fileHash 값으로 조회할 수 있습니다. * 체인에 기록된 계약서는 모두 해시로 저장되어 있습니다.

Parameter

NameTypeExample

fileHash

String

"da39330a6dfd90a91563603950f742240fa222580beecf36e141fe6410184e8b1669119707"

Return value

{
  creator: 'firma1nssuz67am2uwc2hjgvphg0fmj3k9l6cx65ux9u',
  fileHash: 'da39330a6dfd90a91563603950f742240fa222580beecf36e141fe6410184e8b',
  timeStamp: '1669106395',
  ownerList: [ 'firma1nssuz67am2uwc2hjgvphg0fmj3k9l6cx65ux9u' ],
  metaDataJsonString: '{"storage":"ipfs",
    "encryptIpfsHash": ["U2FsdGVkX18curk11EhPxYPJtwmE0BffES2vp1h/+p62/VTafy5dsmvaUCkHlXUkBiHXwzBKB8dF3NwI9dfUyw=="]}'
}

3. getContractFileAll

체인에 기록되어 있는 모든 계약서를 조회합니다.

Parameter

NameTypeExample

paginationKey

(Not required)

String | Undefined

"ZGEzOTMzMGE2ZGZkOTBhOTE1NjM2MDM5NTBmNzQyMjQwZmEyMjI1ODBiZWVjZjM2ZTE0MWZlNjQxMDE4NGU4YjE2NjkxMDY3MTE="

Return value

{
  [{
    creator: 'firma1nssuz67am2uwc2hjgvphg0fmj3k9l6cx65ux9u',
    fileHash: 'da39330a6dfd90a91563603950f742240fa222580beecf36e141fe6410184e8b1669106610',
    timeStamp: '1669106610',
    ownerList: [Array],
    metaDataJsonString: '{"storage":"ipfs","encryptIpfsHash":["U2FsdGVkX19UsL3m7Cq2bOtTCQArqZTuLgz7mfdRtXM2MnIgm67GM26GtPELsVL8s4+IN2Vj9FbFzpFj3rwfaw=="]}'
  }],
  ...
  pagination: {
    next_key: 'ZGEzOTMzMGE2ZGZkOTBhOTE1NjM2MDM5NTBmNzQyMjQwZmEyMjI1ODBiZWVjZjM2ZTE0MWZlNjQxMDE4NGU4YjE2NjkxMDY3MTE=',
    total: 117
  }
}

4. getGasEstimationCreateContractFile

createContractFile 트랜잭션 실행 시 필요한 가스를 계산합니다.

Parameters

NameTypeExample

wallet

Object (FirmaWalletService)

You can check the usage through the "Github example source".

fileHash

String

"da39330a6dfd90a91563603950f742240fa222580beecf36e141fe6410184e8b1669119707"

timeStamp

Number

1669182016039

ownerList

Array (String)

["firma1epg9kx7nqz32dykj23p6jreqfh5x0wdy5a43qc"]

metaDataJsonString

String (JSON)

'{"storage":"ipfs","encryptIpfsHash":["U2FsdGVkX19UsL3m7Cq2bOtTCQArqZTuLgz7mfdRtXM2MnIgm67GM26GtPELsVL8s4+IN2Vj9FbFzpFj3rwfaw=="]}'

Return value

162019

5. Params

NameDescription

wallet

사용자의 Mnemonic으로 생성한 고유 지갑 변수입니다. FirmaSDK 모듈 중 Wallet.fromMnemonic 함수를 통해 선언할 수 있습니다.

fileHash

파일 또는 텍스트 정보를 고정된 길이로 매핑한 정보입니다. 체인에서 Contract 추적을 위한 정보로 활용이 가능하며, 하나의 Contract Hash에 여러 개의 Log를 추가할 수 있습니다. 고유 값 사용을 권장하며, FirmaUtil을 통해 파일 및 텍스트의 해시 값을 가져올 수 있습니다.

timeStamp

해당 이벤트 또는 행동, 결과에 대한 로그가 발생한 시점을 의미합니다. "Unix time stamp" 형식이며, 숫자 타입으로 작성해주세요.

ownerList

계약과 연관있는 사용자의 지갑 주소 배열입니다. ownerAddress와 동일한 목적으로 추가할 수 있습니다.

metaDataJsonString

계약과 관련된 추가 정보를 기록할 수 있습니다. 예를 들어 공개키(암호화), 계약서 저장 공간 또는 다운로드 링크, 계약 진행자의 이메일 주소 등이 될 수 있습니다. JSON 형식의 문자열 타입으로 작성해주세요. * 정해진 규격은 없으며 커스텀 하여 사용하시면 됩니다.

txMisc

트랜잭션 호출 시 사용될 수수료 비용을 담고 있는 오브젝트입니다.

* 가스 계산 없이 사용할 경우 기본 가스 비용은 0.02fct입니다.

paginationKey

getContractFileAll 조회 시 모든 log를 가져옵니다. 100개가 초과한 경우 101번째 이후 데이터를 조회하기 위한 값으로 사용됩니다.

Last updated