Implemented POW on each image upload

This commit is contained in:
Mawoka
2022-06-23 21:17:45 +02:00
parent 5900719913
commit 6e04dfc60d
2 changed files with 23 additions and 0 deletions
+19
View File
@@ -4,17 +4,35 @@
import { dataSchema } from '$lib/yupSchemas'; import { dataSchema } from '$lib/yupSchemas';
import Spinner from '../Spinner.svelte'; import Spinner from '../Spinner.svelte';
import { fade } from 'svelte/transition'; import { fade } from 'svelte/transition';
import { mint } from '$lib/hashcash';
export let data: EditorData; export let data: EditorData;
export let selected_question: number; export let selected_question: number;
export let edit_id: string; export let edit_id: string;
export let pow_data; export let pow_data;
let pow_salt: string;
const empty_answer: Answer = { const empty_answer: Answer = {
right: false, right: false,
answer: '' answer: ''
}; };
let uppyOpen = false; let uppyOpen = false;
const computePOW = async (salt: string) => {
console.log('Called!');
if (pow_salt === undefined) {
return;
}
console.log('Computing POW');
pow_data = await mint(salt, 17, '', 8, false);
pow_salt = undefined;
return;
};
$: {
pow_salt;
computePOW(pow_salt);
}
/*eslint no-unused-vars: ["error", { "argsIgnorePattern": "^_" }]*/ /*eslint no-unused-vars: ["error", { "argsIgnorePattern": "^_" }]*/
const correctTimeInput = (_) => { const correctTimeInput = (_) => {
let time = data.questions[selected_question].time; let time = data.questions[selected_question].time;
@@ -82,6 +100,7 @@
bind:data bind:data
bind:selected_question bind:selected_question
bind:pow_data bind:pow_data
bind:pow_salt
/> />
{/await} {/await}
{/if} {/if}
+4
View File
@@ -21,6 +21,7 @@
export let data: EditorData; export let data: EditorData;
export let selected_question: number; export let selected_question: number;
export let pow_data; export let pow_data;
export let pow_salt: string;
console.log(pow_data); console.log(pow_data);
const uppy = new Uppy() const uppy = new Uppy()
@@ -42,6 +43,9 @@
let image_id; let image_id;
uppy.on('upload-success', (file, response) => { uppy.on('upload-success', (file, response) => {
image_id = response.body.id; image_id = response.body.id;
pow_salt = response.body.pow_data;
console.log(pow_salt, response.body);
pow_data = undefined;
}); });
uppy.on('complete', (_) => { uppy.on('complete', (_) => {
console.log(pow_data); console.log(pow_data);