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 / truffle-config.js
Created December 23, 2019 06:36
truffle config
require('babel-register');
require('babel-polyfill');
const HDWalletProvider = require("@truffle/hdwallet-provider");
const mnemonic='<your mnemonic>';
module.exports = {
networks: {
ropsten: {
provider: function() {
@ryanpedersen42
ryanpedersen42 / add-image-modal.jsx
Created December 17, 2019 04:07
Add Image Header
//imports to add images to IPFS
const ipfsClient = require('ipfs-http-client')
const ipfs = ipfsClient({ host: 'ipfs.infura.io', port: 5001, protocol: 'https' })
onSubmit = (event) => {
const { toggleAddImage, startLoading, endLoading } = this.props;
event.preventDefault()
startLoading()
//add to IPFS
ipfs.add(this.state.buffer, (error, result) => {
const petHash = result[0].hash
this.setState({ petHash })
if(error) {
@ryanpedersen42
ryanpedersen42 / App.jsx
Last active December 29, 2019 02:21
Fetch Posts
fetchPosts = async () => {
//fetch users posts
const { user, setUserPosts } = this.props;
const dappSpace = user.dappSpace;
try {
const dappSpaceData = await dappSpace.public.all()
let ipfsKeyArray = []
Object.keys(dappSpaceData).forEach((values) => {
if (values.length === 46) {
ipfsKeyArray.push(values)
@ryanpedersen42
ryanpedersen42 / App.jsx
Last active December 27, 2019 19:19
logout
handleLogout = async () => {
const { history, user } = this.props;
const box = user.box;
await box.logout();
history.push('/');
}
auth3Box = async () => {
const { user, logUserIn, history, setUserProfile, setBox, setDappSpace } = this.props;
const box = await Box.openBox(user.ethAddress, window.ethereum, {});
await new Promise((resolve, reject) => box.onSyncDone(resolve));
const dappSpace = await box.openSpace('catRoulette');
const userProfile = await Box.getProfile(user.ethAddress)
await setBox(box)
loadWeb3 = async () => {
const { setEthAddress } = this.props;
if (window.ethereum) {
window.web3 = new Web3(window.ethereum)
const ethAddresses = await window.ethereum.enable()
const ethAddress = ethAddresses[0]
await setEthAddress(ethAddress)
}
else if (window.web3) {
function doRequest(options) {
return new Promise((resolve, reject) => {
request(options, function(error, body) {
if (error) {
reject(error);
return;
}
resolve(JSON.parse(body.body));
});
});
@ryanpedersen42
ryanpedersen42 / space.js
Last active September 11, 2019 00:43
From 3Box-js
const decryptEntry = async encObj => JSON.parse(await threeId.decrypt(encObj, spaceName))
return {
//some code
if (!entry) {
return null //returns null with no entry
}
@ryanpedersen42
ryanpedersen42 / userProfile.jsx
Created September 9, 2019 02:11
userProfile Object
const userProfile = await Box.getProfile(ethAddress);
await console.log(userProfile)