지갑 생성/복원 방법은 앞의 초기화가 이미 선행되어있어야 합니다.
지갑생성
지갑 만들기
지갑이 없는 경우 '지갑 이름'과 '지갑 비밀번호'를 매개변수로 새로운 지갑을 생성할 수 있습니다.
지갑 비밀번호는 '정수로 이루어진 6자리 문자열'로만 가능합니다.
한 명의 유저는 1개의 지갑만 생성 가능합니다.
let walletId: Int = try await fncyWallet.makeWallet(
walletNm: "지갑이름",
pinNumber : "지갑비밀번호" // 정수로 이루어진 6자리 문자열
)
지갑 복원 질문/답변 설정
만약, 사용자가 지갑의 비밀번호를 분실한 경우 해당 지갑의 자산은 영원히 잃어버리게 됩니다.
하지만 사용자가 지갑 복원 질문/답변을 등록했다면, 해당 답변을 복구키로 사용하여 지갑을 복구할 수 있는 기회를 제공합니다.
지갑 복원 질문 목록 불러오기
지갑 복원을 위한 복구키는 선택한 질문과 답변내용이 한 쌍으로 이루어집니다.
먼저 선택할 수 있는 질문 목록을 요청하여 복원 질문을 선택합니다.
let array: [FncyQuestion] = try await fncyWallet.getQuestionList(
pageNo: 1,
pageSize: 20
)
See Also
getQuestionList
FncyQuestion
지갑 복원 질문/답변 등록
질문의 번호(questionSeq)와 답변 내용, 지갑의 비밀번호를 사용하여 지갑 복원 질문/답변을 등록 할 수 있습니다.
let isSuccess: Bool = try await fncyWallet.postRegisterRestorationKey(
wid: wid, //makeWallet()에 성공하면 result에 wid가 반환됨.
questionSeq: questionSeq, //getQuesetionList()에서 나온 질문 목록중 사용자가 선택한 seq
answer: "백업용 질문 답변",
pinNumber: "지갑비밀번호"
)
See Also
postRegisterRestorationKey
FncyQuestion
지갑 복원
사용자가 지갑 비밀번호를 분실 했을 경우 등록했던 지갑 복원 질문/답변 쌍이 있다면 지갑 비밀번호를 변경하고 지갑을 복구할 수 있습니다.
사용자가 입력한 지갑 질문 가져오기
지갑 복원 질문/답변 쌍이 등록되어 있다면 등록된 지갑 복원 질문을 요청할 수 있습니다.
let result: FncyQuestion = try await fncyWallet.getResetQuestion()
See Also
getResetQuestion
FncyQuestion
지갑 복원 답변으로 지갑 복구하기
지갑 복원 답변과 새 지갑 비밀번호를 전달하여 지갑 비밀번호를 변경하고 지갑을 복구합니다.
let isSuccess: Bool = try await fncyWallet.postResetQuestion(
answer: "백업용 질문 답변",
newPinNumber: "새 지갑비밀번호"
)
See Also
postResetQuestion
지갑 비밀번호 변경
현재 지갑 비밀번호와 새 지갑 비밀번호를 전달하여 지갑 비밀번호를 변경할 수 있습니다.
지갑 비밀번호 변경
let isSuccess: Bool = try await fncyWallet.resetWalletPin(
oldPinNumber: "기존 지갑 비밀번호",
newPinNumber: "새 지갑 비밀번호"
)
See Also
resetWalletPin