Skip to content

Instantly share code, notes, and snippets.

View ryanpedersen42's full-sized avatar
🦛

Ryan Pedersen ryanpedersen42

🦛
  • San Francisco, CA
View GitHub Profile
@ryanpedersen42
ryanpedersen42 / App.jsx
Created September 9, 2019 01:59
onSubmit
onSubmit = async () => {
const { inputKey, inputValue, dappSpace } = this.state;
// set private key / value pair from input form
try {
await dappSpace.private.set(inputKey, inputValue);
} catch(err) {
console.log(err);
}
@ryanpedersen42
ryanpedersen42 / App.jsx
Created September 9, 2019 01:52
getSecret
getSecret = async () => {
const { displayValueKey, dappSpace } = this.state;
//returns string || object.. undefined if no such key
const displayValue = await dappSpace.private.get(displayValueKey)
if (displayValue) {
await this.setState({ displayValue, displayValueKey: '' });
}
}
@ryanpedersen42
ryanpedersen42 / App.jsx
Created September 9, 2019 01:19
handleAuth function
handleAuth = async () => {
const { history } = this.props
// web3 actions to authenticate with metamask or other provider
const ethAddresses = await window.ethereum.enable();
const ethAddress = ethAddresses[0];
// authenticate and get profile data
const box = await Box.openBox(ethAddress, window.ethereum, {});
This post links my 3Box profile to my Github account! Web3 social profiles by 3Box.
✅ did:muport:QmbqWA5ArkWjCApMaYtusVaMT7gbRfh6ToJMfAVEtK3RGm ✅
Create your profile today to start building social connection and trust online at https://3Box.io/
@ryanpedersen42
ryanpedersen42 / simpleAuth.jsx
Last active September 5, 2019 01:26
simple auth flow
handleAuth = async () => {
//web3 actions to authenticate with metamask or other provider
const ethAddresses = await window.ethereum.enable();
const ethAddress = ethAddresses[0];
//Authenticate into 3Box
const box = await Box.openBox(ethAddress, window.ethereum, {});
//Promise resolution- waiting for 3Box onSyncDone confirmation
await new Promise((resolve, reject) => box.onSyncDone(resolve));
@ryanpedersen42
ryanpedersen42 / App.jsx
Last active September 3, 2019 22:23
log out
//log user out
handleLogout = async () => {
const { box } = this.state;
await box.logout();
}
@ryanpedersen42
ryanpedersen42 / App.jsx
Last active September 3, 2019 22:23
delete secret
// delete selected secret
deleteSecret = async () => {
const { inputKey, dappStorage } = this.state;
await dappStorage.private.remove(inputKey);
}
getSecret = async () => {
const { inputKey, dappStorage } = this.state;
const displayValue = await dappStorage.private.get(inputKey)
await this.setState({ displayValue })
}
@ryanpedersen42
ryanpedersen42 / App.jsx
Created September 3, 2019 02:53
input-form
// submit new key / value pair from input-form
onSubmit = async () => {
const { inputKey, inputValue, dappStorage } = this.state;
// set private key / value pair from input form
try {
await dappStorage.private.set(inputKey, inputValue);
} catch(err) {
console.log(err);
}
// create new space
createNewSpace = async () => {
const { inputKey, box } = this.state;
await box.openSpace(inputKey);
}