2016-11-30 2 views
0

제공된 문자열이 유효한 IPFS 또는 IPNS 경로인지 확인하고 싶습니다.제공된 문자열을 확인하는 방법은 유효한 IPFS 또는 IPNS 경로입니까?

예를 들어 내가 할 때

ipfs ls <invalid-hash> 
//waits keep searching ... 

이 아무것도 반환하지만 프로그램 내에서 정지하지 않을 것이다, 그래서 주어진 해시가 유효한지 모르고 기다릴 필요가있다.

내가 사용한 내용은 https://github.com/xicombd/is-ipfs이지만 기능에 제공하는 유효하지 않은 해시 문자열이 true를 반환하므로 내 측면에서 제대로 작동하지 않습니다. IPFS가, ipfs cat valid-hash에 대한 ipfs ls valid-hash을 결과를 반환 할 수 있지만 ipfs cat valid-hash 또는 ipfs ls valid-hash의 결과에 의존의 trustable없는 N-초보다 오래 걸릴 수 있습니다에 대한

나는 임계 값으로 N-초 정도 기다리 수 있습니다. 예를 들어

: (. 내가 노드 응용 프로그램 내에서 명령을 실행하고)

[$] node 
const isIPFS = require('is-ipfs') 
> isIPFS.multihash('QmYooooooooooooooooooooooooooooooooaoooooooooo') 
true //returns true but it is an invalid ipfs hash, should have returned false. 

당신의 귀중한 시간과 도움을 주셔서 감사합니다.

답변

0

isIPFS 라이브러리는 신택스 레벨의 해시 유효성 만 검사합니다 (Qm으로 시작합니까? 기대되는 길이입니까?). 그러나 이것을 사용하여 파일을 검사 할 수 없으며 그렇지 않습니다. 해시시.

사실, 나는 대답을 기다리는 N 초를 제외하고 특정 해시를 사용하여 파일을 검색 할 수 없다고 주장하는 것이 기술적으로 가능하지 않다고 생각합니다.

HTTP에 대해 생각하는 것과 같은 방식으로 IPFS를 생각해보십시오. 때로는 HTTP 요청이 완료되는 데 몇 분이 걸리는 경우도 있지만, 연결하려고하는 IP + 포트가 어디에도 연결되지 않는다는 것을 의미하지는 않습니다. 귀하의 브라우저 또는 앱은 임의의 시간이 지나면 영원히 기다리지 않기 위해 시간 초과를 결정하지만, 특정 HTTP 주소/IPFS 해시를 사용하여 도달 할 수있는 어떠한 것도 과학적으로 증명할 수는 없습니다.

관련 문제