tibfox 3Speak Podcast podcast artwork

PODCAST

tibfox 3Speak Podcast

Listen and watch the latest videos from tibfox. Hosted by 3Speak.tv. The free speech video platform on the HIVE blockchain.

Publisher-supplied feed metadata · PodParley refreshed Jun 21, 2026 · Source feed

  1. 15

    Magi: Skip the Code - Ship the Token!

    https://3speak.tv/watch?v=tibfox/1c035f1c Did you ever wanted to launch your own NFT collection but someone scared you off by mentioning smart contracts ? Imagine minting your own drawing series, a collection of your photography, badges for your community, trading cards for your new game, or even tickets for your next event - all without writing a single line of code. Login, fill in a handful of fields, sign with Hive Keychain and BOOM, your collection is live on-chain! In this video, I show you the new Magi Token SDK, which is now live inside of Altera. The Token SDK includes a drop-in widget that brings full NFT and token management to any Hive app with just a few lines of code. Also it contains headless sdk functions so you can develop your own NFT website without diving deep into Magi or smart contract code yourself. You'll see how to: Deploy an NFT collection from scratch (build, init, ready in one flow) Mint new NFTs into your collection Deploy your own fungible token and issue new tokens within minutes Everything runs on the Magi network, signed with Aioha and indexed in a few seconds. If you've been waiting for a simle way to launch collections, mint, and manage tokens on Magi without writing a single contract call by yourself - this is it! Here are a few links for you: Magi Landing Page: https://magi.eco/ Altera App: https://altera.magi.eco/ Token Contract Source: https://github.com/vsc-eco/magi_token-contract NFT Contract Source: github.com/vsc-eco/magi_nft-contract SDK Demo: token-sdk.okinoko.io SDK Source: https://github.com/vsc-eco/token-sdk SDK on npmjs: https://www.npmjs.com/package/@vsc.eco/token-sdk Magi Block Explorer: https://vsc.techcoderx.com/

  2. 14

    🧈Hive Open Days 2026 - Live Translations 🗣️➡️🌐

    https://3speak.tv/watch?v=tibfox/4ac0c8f7 One of the biggest headaches while planning Hive Open Days in Alicante was a simple one: how do we make sure Spanish attendees can follow English talks, and the other way around? Especially when the conversation goes deep into blockchain terminology, which is hard enough in your own language. The classic solution is a human interpreter, a microphone, and a stack of earpieces in the audience. But what if people want to chat and don't share the same language? This interpreter job would be almost impossible (or not cost effective lol). So we went a different way. In this video, I'm showing ButterTranslate, the live translation service we will run at HOD Alicante for the first time, which is part of @mantequilla-soft. It uses AI to listen, transcribe, and translate all near real-time, all in the browser, and all sponsored by the wonderful people at Creative Work Hour! The Live Translations will be available via scanning the QR code on our event badges, of course. Take a look at my last video about the badges and the onboarding flow we have set up for new Hivers! It will all be at one stop - it can not get simpler :D What the video covers The main stage view that we project at the venue and overlay onto the livestream. It follows automatically whoever is speaking on stage. A QR code audience mode, so attendees open the same translation on their own phone, pick their language, and listen through earphones instead of reading if they prefer. One-on-one sessions for hallway talks, dinners, and small group chats - multiple people, multiple languages, everyone hears each other in their own tongue. A short live demo switching between English, German and Japanese, including what happens when several speakers jump in at once. This is the first real-world test, so expect some charming AI quirks along the way. That's the real fun of a premiere, right? :D A huge thank you Live translation like this needs real GPU power, and we can only offer it thanks to @alessandrawhite and the @creativeworkhour team, who are donating a full day of live translation to the event. If GPU prices cooperate, maybe we can stretch it into Saturday too. Massive gratitude to them - this honestly would not happen in that scale without their support! After the event ButterTranslate by @mantequilla-soft will not stop at HOD. Coming soon: a Discord webhook feature and a subscribable websocket for all kinds of calls, plus integration into hangouts via https://snapie.io, https://3Speak.tv and more so anyone can add live translation to their own streams and conversations. But first - Alicante. See you at Hive Open Days <3

  3. 13

    ☀️Hive Open Days 2026 - Onboarding Badges 🪪

    https://3speak.tv/watch?v=tibfox/107690e7 13 days left until Hive Open Days '26 kicks off in Alicante and I still can't quite believe it's actually happening. Four days of Hive, Web3, sunshine, and way too much good food, all starting April 30th at ULab Coworking Space. One of the many things I've been chipping away at over the past months is the event badges. Each badge carries a QR code that does a few things at once: it onboards brand new users to Hive in a genuinely simple way, and it gives attendees everything they need on-site. They can find the full event timetable, a one-tap link to our local HOD Telegram group, and direct access to the @ecency Discord server. They will also be able to realtime-translate all of their conversations and the main stage talks with a simple link. That will be the topic of another video tho. Oh, and this time I printed all the badges myself - saves us a solid chunk of funds and cuts out the waiting time on external print shops. Bonus: full control over quality and last-minute changes. The part I'm especially proud of is the onboarding flow itself. In this video, I'll walk you through how it works end-to-end, and once the event is wrapped, I promise to polish the whole thing up and release it open source on the mantequilla-soft github so anyone organizing a Hive meetup can use it. If you have any questions, drop them below — see you in Alicante! ☀️

  4. 12

    You can now EDIT VIDEOS on 3Speak!

    https://3speak.tv/watch?v=tibfox/f7d89170 Okay, I know I'm late haha but I still had to talk about the New Shorts Editor on 3Speak. Browser-based, mobile-friendly, intentionally minimal. We kept it focused on what actually matters for short clips and pushing engagement on the platform. It's part of the recently pushed BIG wave of updates from us - the @mantequilla-soft collective! If you want to get all the new features then make sure to read the full breakdown: https://ecency.com/hive-181335/@threespeak/3speaktv-just-got-a-massive-upgrade! What would you add to it? Drop your ideas below - we're building this based on what the community actually wants!

  5. 11

    Devlog: Your Own Magi Tokens Without Coding (soon)

    https://3speak.tv/watch?v=tibfox/ff8ec4f3 Quick dev update on what I've been working on lately. I'm building a token UI for the Magi Tokens standards, that got released recently by @magi.network. The idea is to make it as easy as possible for anyone to deploy and manage their own tokens without too much hassle. In this video I show a quick demo of how token deployment works, how you mint tokens, send them around and how the approve and transferFrom mechanics work - which is basically the foundation for any kind of market or DEX later on. The Magi Token Standard is based on the ERC-20 so the pattern is battle tested and supports many upcoming contracts that can interact like staking, markets, daos, and much much more. My development is still on testnet and some small issues (not bugs ^^) showed up live but nothing critical. More updates coming once it's fully live on okinoko.io here on my profile. Stay tuned!

  6. 10

    Urgent: If you've ever used DTube -> CHANGE YOUR KEYS!

    https://3speak.tv/watch?v=tibfox/0b319b37 Hey there! Heimindanger is around again and now he started to post in the name of joythewanderer. I don't know how he got her keys but it could be an exploit on the DTube website back in the days. So be safe and change your keys asap! I am guilty of changing them not often enough so I just did it and it is easier than you might think. Just go to peakd -> wallet -> account actions -> keys & permissions -> change password. Obviously save your new keys lol Stay safe and please share this so he could not spam in your fiends name next time! Peace!

  7. 9

    Tibbi Talks: 8 Years on Hive celebrated with a Power Up!

    https://3speak.tv/watch?v=tibfox/5e66c516 The Beginning On the 29th of January 2018, I sat in my room hoping to find a community that actually cared about what I create. Back then, I was messing around with video creation about 3D printing and other things, but web2 was just too saturated. The algorithms didn't care about quality or passion, only about who already had millions of followers. So I searched for alternatives and quickly found Hive (yes of course it had a different name back then - the one we don't speak about). I did not understand anything at all but I fell in love with it immediately. The community was and still is pretty small compared to other social platforms, but with the open ecosystem, it turned out to be much more than I initially thought. It wasn't just another platform - it was a whole different approach to social media and content creation. No algorithm, no suit-people deciding what you can say, and actual ownership of your content. That sounded good, but I was definitely not aware of the importance of decentralization is to society. Falling Down the Rabbit Hole After joining I quickly got involved in various communities, especially one focused on a video platform on Hive - I will not say the name though. It's like Voldem... oops, almost said it. But you probably know which one I mean if you've been around for a while. So I created videos, joined community activities and also attended my first meetups in Hamburg. I wasn't just hooked! It was a completely new world that unfolded in front of me. Every single day - up until today - I learn something new. Whether it's technical stuff about blockchain, meeting interesting people from all over the world, or discovering new projects being built on top of Hive. The learning never stops. What really got me was the people. In web2 you mostly interact with usernames and profile pictures, but here on Hive I actually got to know real people. We met up in person, worked on projects together, and built actual friendships. That's something you can't really put a price tag on and that can lst forever. Growing With Hive Over the years I also got more involved in the technical side of things too. Started learning app development, python, javascript and now I know how to write smart contracts on Magi! I never thought about what mass of things I will create just because Hive and the endless possibilities it offers. And one of my "more recent" achievements is that I am the main organizer of an event that enters the third year in 2026: Hive Open Days! The events are actually one of the things I enjoy most. Seeing people meet in real life who only knew each other online, watching new friendships form, and bringing the community together face to face. We're currently working on Hive Open Days '26 in Alicante this April, and every time we organize one of these it reminds me why this ecosystem is special. Personal Growth Looking back at these 8 years, a lot ore has changed in my life. I moved apartments three times, and while sorting my life I've grown as a person in ways I didn't expect. I'm much more confident now, I learned to say no to things that I don't align with and I got much better at estimating what I can atually achieve instead of overcommitting myself to everything. The biggest change is probably that I trust myself much much more these days. When I have an idea, I just go for it instead of overthinking. Being part of Hive definitely played a role in that - you see other people building cool stuff and you realize that you can do it too - if you only start. The Ones Who Stayed Many people left, that's true, but many also joined in these 8 years and I'm proud to still be around and active. Some left because of the price, some because they didn't understand the long-term vision, and some just moved on to other things in life. That's normal and okay. But there's also a core group of people who stuck around through thick and thin, and those are the ones who really make Hive special. We all have different opinions and some might resulted in on-chain blocks ;) Let's Talk Price The price of HIVE has changed a lot during this time, but for me that's just one side of what Hive is about. Don't get me wrong - I also check the price and would love to see it go up. But I stayed because of the community, the technology, and the possibilities to actually build things that matter. We have been at over 8(!!!) USD when I joined back in the day. After a ~7.30 USD drop and all the ups and downs we're still engaging with each other and yes - complaining about the price sometimes. I get that many of you bought in at much higher prices and that hurts, but that's how it goes with financial investments. You can't change the past, only work on the future. What we all can do is keep working on onboarding new people and keeping the engagement high on the platform. The more active users we have who actually contribute, the higher our chances for an increasing price. Simple as that. We need more devs building cool stuff (yes there are devs searching for a platform like Hive), more content creators making quality posts and videos, and more people who keep them on the platform by engaging. Looking Ahead I'm looking forward to all the things we're going to experience in the next years. The technology keeps evolving, new layer-2 solutions are being developed, and the whole web3 space is maturing. Maybe in 8 years you'll still be around to read my 16-year celebration post - who knows what Hive will look like then! Maybe we'll have 100 times more active users, maybe the price will be at 50 USD, or maybe we will still be a small but dedicated community. Whatever happens, I'll probably still be here, building something or organizing the next big conference or small meetup. Thanks to all the people I was able to get to know here on Hive. Everyone who helped me along the way, everyone building the tools and platforms I use every day, and everyone in between who makes this ecosystem what it is. I will not name them - you know who you are. Peace and see you around! P.S: I have scrolled all the way down on my profile and found my first ever post on Hive - the video is not online unfortunately, but it marked the beginning of a very long journey I plan to continue for much longer. I searched around and luckily found a backup of one of the early videos on Hive from this post (cringe warning &amp; I say forbidden words in there...): <iframe width="640" height="480" src="https://www.youtube.com/embed/WVv-wYG0okU" allowfullscreen="allowfullscreen" webkitallowfullscreen="webkitallowfullscreen" mozallowfullscreen="mozallowfullscreen" frameborder="0" >

  8. 8

    My Recent 3Speak Project: Playlists & Watch History

    https://3speak.tv/watch?v=tibfox/346182c2 In this video I show you the new playlist feature on 3Speak I worked on yesterday. It is almost done but a few things here and there are still needed to make it production-ready. You can soon organize videos in playlists (not only your own videos), put videos in the "watch later" or see which videos you have watched already. More about all of that in this short video!

  9. 7

    Tibbi Talks: HOD Alicante, Okinoko.io, Vegan and more

    https://3speak.tv/watch?v=tibfox/ca8fe4e2 Links mentioned in this video: Official Website of Hive Open Days the Hive España Community our Hive profile @buzzparty the tag #hiveopendays The multilingual translation video chat product: Lingu.Social My Magi Network UI: okinoko.io

  10. 6

    Building Your First Magi Smart Contract: A Complete Guide!

    https://3speak.tv/watch?v=tibfox/ff9c946a You asked for a Magi contract tutorial from start to finish? I got you! This tutorial walks through building a smart contract for the Magi network. We'll create a simple "flip" contract that randomly shuffles a list of possible values - useful for things like random selection, lottery draws, or simple day-to-day decisions :D Should I do the dishes? Ask your own contract! Before we jump right in I want to mention that the Magi chain is constantly in development and the tutorial could become outdated pretty soon. Make sure to check the official contract-template repo and the announcements of the Magi network for all the fresh SDK functions, news and possibilities. Also it is planned that there will be an SDK for other languages in near future so keep an eye out for that as well. Big thanks to @techcoderx for his work and all the help he offered me while creating my first few contracts. Now let us jump in! Setup Go 1.24+ (Programing Language) TinyGo compiler (for WASM compilation) wasm tools or wabt (For optimizing file size of your final contract wasm) Basic understanding of Go programming (Don't be scared - it's simple) Project Structure In the video I will cover the flip contract. You can clone it from: https://github.com/tibfox/magi_contract_tutorial_flip The video will not cover everything that is described here because this is a topic for another video. After cloning the tutorial repo, you will find this structure: magi_contract_tutorial_flip/ ├── contract/ │ ├── main.go # Main contract logic and exported functions │ └── random.go # Randomization utilities ├── sdk/ │ ├── sdk.go # Core SDK functions (state, logging, etc.) │ ├── env.go # Environment/context types │ ├── address.go # Address handling (Hive, EVM, etc.) │ └── asset.go # Asset types (HIVE, HBD) ├── test/ │ └── contract_test.go # Integration tests ├── artifacts/ │ └── main.wasm # Compiled contract └── go.mod Flow of the contract Before we start to dive into the code I made this simple diagram to showcase the contract flow: User executes the flip function providing a collection of possible results (a|b|c) Contract randomizes the order using deterministic shuffling Contract stores the result in state under a unique key based on transaction data Contract emits the random order as an event log Contract returns the storage key and shuffled result Part 1: Cloning Contract Template The Magi network provides an up-to-date contract template you can clone for your starting point. In this tutorial I will not go into details about it here as I assume you clone my tutorial repo instead. Part 2: Understanding the SDK The SDK provides the interface between your contract and the Magi network. Make sure to always have the current sdk when developing a contract. Let's examine the key components of this folder. Environment Context When your contract executes, it receives context about the transaction via sdk.GetEnv(): type Env struct { ContractId string // This contract's ID ContractOwner string // Owner address TxId string // Transaction ID Index uint64 // Transaction index in block OpIndex uint64 // Operation index in transaction BlockId string // Current block ID BlockHeight uint64 // Current block height Timestamp string // Block timestamp Sender Sender // Who initiated this call Caller Address // Direct caller (could be another contract) } The Sender contains authentication details but usually Sender.Address is enough for verifying permissions in your contract. The Caller is who actually called the contract function. That can be a user but also another contract. There can be a chain of up to 20 contracts but the original environment is always persistent so checking permissions can be made on the initial sender of the transaction. type Sender struct { Address Address // Sender's address RequiredAuths []Address // Active authority signers RequiredPostingAuths []Address // Posting authority signers } Address Types The network supports multiple address formats: TypePrefixExample Hivehive:hive:username EVMdid:pkh:eip155did:pkh:eip155:1:0x... Contractcontract:contract:abc123 Systemsystem:system:rewards For now I personally only made contracts that work with hive addresses and I assume that this list will increase with time. Core SDK Functions State Management: sdk.StateSetObject(key, value string) // Store a value sdk.StateGetObject(key string) *string // Retrieve a value sdk.StateDeleteObject(key string) // Remove a value It is important to mention here that sdk.StateSetObject() is the most expensive single-call of the current system. Be mindful of that and try to allocate contract state as early as possible if you know how the state value will look like. Updates will become cheaper this way. Also try to minimize state value length by implementing mappings of known values (states, types and this kind of stuff) so you only store integers instead of whole strings. There are many ways to improve state usage but this depends highly on your use-case. Keep an eye out for my upcoming videos/posts about that topic. Logging: sdk.Log(message string) // Emit an log This method can be used for simple logs but is also used to emit event logs for external indexers. More on that later. Transaction Control: sdk.Abort(msg string) // Hard abort This will revert the whole contract call, revert fund movements and state interactions. It is smart to abort as early as possible to minimize ressources when the call fails and add a reason for the abort in the msg of course. Asset Operations: sdk.GetBalance(address Address, asset Asset) int64 // read the balance of a Magi address sdk.HiveDraw(amount int64, asset Asset) // Pull funds from the **caller** sdk.HiveTransfer(to Address, amount int64, asset Asset) // Sends funds from the contract sdk.HiveWithdraw(to Address, amount int64, asset Asset) // Unmap to Hive account sdk.GetBalance(), sdk.HiveDraw() and sdk.HiveTransfer() are all operating on Magi itself while sdk.HiveWithdraw() will send funds from the contract to the receiver on the Hive blockchain. Cross-Contract Calls: sdk.ContractStateGet(contractId, key string) *string sdk.ContractCall(contractId, method, payload string, options *ContractCallOptions) *string These are super powerful tools where you can chain execute up to 20 contracts. For example you could create a task market platform/contract that calls my escrow contract in order to create a secure trustless payment acknoledgement between two parties. No need to implement your own logic here. Also the contract we cover here can be used to find a random value out of multiple ones. You could just call this contract and save space/time for your own logic. Part 3: Writing the Contract The Main Entry Point Every contract needs an empty main() function for WASM export to work: package main func main() { // Required for wasm export - leave empty } For super small contracts it is enough if you only have one main.go file but I try to split my contract in a reasonable structure of multiple files. It is up to you but at least 1the main.go with the main() needs to exist for your contract. Exporting Functions Use the //go:wasmexport directive to expose functions to the network: //go:wasmexport flip func Flip(payload *string) *string { // Contract logic here } These functions are the ones the users of your contract will interact with. They receive and return only one string pointer each. No int or multiple arguments - just one string in and one string out. For payloads, I find that csv (simple delimited strings) is the more gas efficient compared to the commonly known JSON format. JSON needs some overhead in characters, but also a lot of parsing logic in the WASM itself. I did not try the sdk_tinyjson.go implementation tho. Implementing the Flip Function Let's break down the flip contract step by step: Step 1: Validate Input //go:wasmexport flip func Flip(payload *string) *string { if payload == nil || *payload == "" { sdk.Abort("payload is required") return nil } possibilities := strings.Split(*payload, "|") if len(possibilities) &lt; 2 { sdk.Abort("at least 2 possibilities are required") return nil } Always validate inputs early and use sdk.Abort() with a descriptive message. Step 2: Get Execution Context env := sdk.GetEnv() sender := env.Sender.Address.String() As described aboe the sdk.GetEnv() will give you all values of the current execution environment. If you only need one value it is better gas wise if you use sdk.getEnvKey(). Step 3: Generate Deterministic Randomness seed := generateSeed(env.BlockHeight, env.Index, env.OpIndex) shuffled := shuffleWithSeed(possibilities, seed) The seed combines block height, transaction index, and operation index. This ensures: Same input in same transaction position = same output (deterministic) Different call = different output (unique per call) These operations need to be determistic so every witness will receive the exact same result. This is important - otherwise the call will fail. Step 4: Store the Result result := strings.Join(shuffled, "|") storageKey := strconv.FormatUint(env.BlockHeight, 10) + "-" + strconv.FormatUint(env.Index, 10) + "-" + strconv.FormatUint(env.OpIndex, 10) sdk.StateSetObject(storageKey, result) In the current use-case a state write is not needed (and will cost gas without a reason) but I kept it in the code so you will have an example. Step 5: Emit Event Log logMessage := "flip;sender:" + sender + ";result:" + result sdk.Log(logMessage) Logs are useful for off-chain indexers and debugging. There is no official magi indexer available yet but if you follow the same structure I can add your contract to my personal build and help you provide user friendly data for your own UI. This is especially useful if you want to query values just like: all flips of hive:tibfox all flips that had only two results all flips from the past 2 weeks etc. This structure works the best with my build: prefix;key1:value1;key2:value2;... The ; is up to you and also if you want to add keys or not. Just get in contact with me and I can tell what is possible. Step 6: Return Result returnValue := storageKey + " -&gt; " + result return &amp;returnValue } Here we send a result back to the sender - as described above we do this via string pointer. The Randomization Logic The random.go file contains the shuffling implementation using the Fisher-Yates shuffle. I just copied it from somewhere and ported it to go. It is super simple and determistic. func generateSeed(blockHeight uint64, index uint64, opIndex uint64) uint64 { // Prime multipliers reduce collision likelihood return blockHeight*1000003 + index*1009 + opIndex } func shuffleWithSeed(items []string, seed uint64) []string { n := len(items) result := make([]string, n) copy(result, items) // Linear Congruential Generator (LCG) a := uint64(1664525) c := uint64(1013904223) m := uint64(1 &lt;&lt; 32) state := seed // Fisher-Yates shuffle for i := n - 1; i &gt; 0; i-- { state = (a*state + c) % m j := int(state % uint64(i+1)) result[i], result[j] = result[j], result[i] } return result } There are other ways to find a determistic "random" result but that is the most simple in my opinion. Part 4: Testing Compiling the Contract for Testing Contracts are compiled to WebAssembly using TinyGo: tinygo build -gc=custom -scheduler=none -panic=trap -no-debug -target=wasm-unknown -o test/artifacts/main.wasm ./contract This will place the compiled main.wasm file in the test/artifacts folder. Running Tests Tests use the go-vsc-node test utilities which provide a mock environment: package test import ( "encoding/json" "os" "testing" "vsc-node/lib/test_utils" "vsc-node/modules/db/vsc/contracts" ledgerDb "vsc-node/modules/db/vsc/ledger" stateEngine "vsc-node/modules/state-processing" "github.com/stretchr/testify/assert" ) func TestFlip(t *testing.T) { // Load compiled contract testCode, err := os.ReadFile("../artifacts/main.wasm") assert.NoError(t, err) // Create test environment ct := test_utils.NewContractTest() ct.Deposit("hive:flipuser", 5000, ledgerDb.AssetHive) ct.RegisterContract("vsc_flip_contract", "hive:flipowner", testCode) // Define transaction context txSelf := stateEngine.TxSelf{ TxId: "2testtxid", BlockId: "blockid122", Index: 0, OpIndex: 0, Timestamp: "2025-09-03T12:00:00", RequiredAuths: []string{"hive:flipuser"}, RequiredPostingAuths: []string{}, } // Call the contract callResult, _, logsMap := ct.Call(stateEngine.TxVscCallContract{ Self: txSelf, ContractId: "vsc_flip_contract", Action: "flip", Payload: json.RawMessage([]byte(`"tibfox|stevenson7|meno|ph1102"`)), RcLimit: 1000, Intents: []contracts.Intent{}, }) // Verify results t.Logf("Return: %s", callResult.Ret) t.Logf("RC: %.3f", float64(callResult.RcUsed)/1000) t.Logf("Logs: %v", logsMap["vsc_flip_contract"]) assert.True(t, callResult.Success, "flip call should succeed") } Key Testing Concepts ContractTest: Creates an isolated test environment with its own state. Deposit: Funds test accounts. Required if your contract handles assets - here we do not need it. RegisterContract: Deploys your WASM code with a contract ID and owner. TxSelf: Simulates transaction metadata (block height, indices, signers). Call: Executes a contract function and returns: callResult: Success status, return value, RC (resource credits) used logsMap: Event logs emitted by the contract In the end we assert the test to be successful. Running Tests go test ./test -v Example output: === RUN TestFlip contract_test.go:43: Return: 0-0-0 -&gt; meno|ph1102|tibfox|stevenson7 contract_test.go:44: RC: 0.847 contract_test.go:45: Logs: [flip;sender:hive:flipuser;result:meno|ph1102|tibfox|stevenson7] --- PASS: TestFlip (0.12s) For bigger test files and continous testing it is better to run go test ./test as this only gives you "ok" or failure details back. Part 5: Compiling the Contract for Deployment The command is similar to the test build but we are going to use a specific tinygo docker image for reproducible builds and source code verification: docker pull tinygo/tinygo:0.39.0 docker run --rm -v $(pwd):/home/tinygo tinygo/tinygo:0.39.0 \ tinygo build -gc=custom -scheduler=none -panic=trap -no-debug \ -target=wasm-unknown -o artifacts/main.wasm ./contract Key flags: -gc=custom: Uses custom garbage collection for WASM -scheduler=none: Disables the Go scheduler (not needed in contracts) -panic=trap: Converts panics to WebAssembly traps -target=wasm-unknown: Compiles to generic WebAssembly -no-debug: Reduces binary size by stripping debug info The compiled .wasm file goes in the artifacts/ directory. Optimizing Binary Size Next we strip metadata to reduce file size even more before deployment (also mandatory for contract verification): # Using Wabt wasm-strip -o artifacts/main-stripped.wasm artifacts/main.wasm # Or using Wasm Tools wasm-tools strip -o artifacts/main-stripped.wasm artifacts/main.wasm Part 6: Deployment Once tested, we can finally deploy our contract to the network. For this we have some requirements: Prerequisites A Hive account with at least 10 HBD (deployment fee per contract) Your Hive private active key vsc-contract-deploy needs to be built by you: git clone https://github.com/vsc-eco/go-vsc-node cd go-vsc-node go mod download go build -buildvcs=false -o vsc-contract-deploy vsc-node/cmd/contract-deployer This will generate a program called vsc-contract-deploy in the root folder. For the upcoming commands I assume that you placed it in your PATH directory like /usr/bin on Linux for example. There is a deployment fee of 10 HBD per contract, paid from your Hive account balance. This fee is needed to secure the system and let people think twice before deploying unfinished contracts. I learned that the hard way ;) Step 1: Initialize Configuration vsc-contract-deploy -init This creates data/config/identityConfig.json. Edit it with your Hive username and active key: { "username": "your-hive-username", "activeKey": "your-active-private-key" } Step 2: Deploy the Contract vsc-contract-deploy -wasmPath artifacts/main-stripped.wasm -name "Flip Contract" The CLI will: Upload your WASM binary to the network Register the contract on-chain Return your contract ID for future calls For my previous contracts techcoderx took the name for a display name inMagi Blocks Part 6: Calling Your Deployed Contract Once deployed, you can interact with your contract using the contract page on Magi Blocks. Select your newly deployed contract and open the tab "Call Contract". Enter the following parameters: Method: flip Payload: a|b|c RC limit: 1000 Key Type: Active Hit "Call Contract" and go back to "Transactions" - there you should see your sent transaction. Click on that, wait until it says "confirmed" and inspect the "Call Output" or the "Logs" to see the flipped results. This is the moment you can be proud! Tell your freinds &amp; family about your big success ;) Part 8: Verifying Your Contract To allow others to inspect your contract's source code, verify it on the Magi Blocks. For this our code needs to be published as public github repository. Also the source code needs to be 100% the same as your deployed version. The contract verifier will download and build your contract. Then it will use the wasm tools you have selected to strip the wasm file too. It is important that you select the correct versions and tools for the verifier to succeed. Go on "Tools" -&gt; "Verify Contract" -&gt; read the explainer and hit "Next". Enter all the details in there and hit "submit". The contract should get verified if you met all the requirements. If not @techcoderx can help you as he did help me multiple times. We made it! Now you have all infos you need in order to build your own smart contracts on the Magi network! There is still plenty to learn for you from the Go language in general, optimization of gas consumption and much much more. It is a fun journey and I am excited about wht you are going to build! If you want your contracts to get featured on okinoko.io - please contact me! Also keep an eye out for upcoming videos about the Magi network! I am planning to make a deep dive into every single SDK function - let me know if you want to see that or if you have any other topic suggestions.

  11. 5

    Okinoko.io | My Magi Smart Contracts UI

    https://3speak.tv/watch?v=tibfox/0611df00 In this video I give you some basics about Magi and my UI called okinoko.io where you can play games, join lotteries or create escrow transactions. Soon there will be a multi-purpose DAO and some more games - Stay excited! Links I mentioned in the video: Magi Network: magi.eco Magi Github: github.com/vsc-eco Magi Blocks: vsc.techcoderx.com Okinoko: okinoko.io My Github: github.com/tibfox Special Thanks to: @stoertebeker for the phonetics of Magi :D @ph1102 for the video suggestion!

  12. 4

    Tibbi Talks: Hive Open Days, Magi, 3Speak and more

    https://3speak.tv/watch?v=tibfox/142d4965 Just a random update from my life mostly containing Hive-related things. Big thanks to @etblink for his encouragement!

  13. 3

    Thursday Garden Center Haul

    https://3speak.tv/watch?v=tibfox/mpwtgqwvkb Yesterday I got active again! After a pretty stressful day at work, I stopped by a gardening center to pick up some veggie plants for my garden. And, as always, I couldn't walk past the hibiscus section without feeling that irresistible urge to grab one. So yeah… I bought another one - my 5th hibiscus! I just loooove them. Along with the hibiscus, I also picked up three raspberry plants (totally forgot to mention those in the video oopsiii!), a cucumber, a climbing spinach (yep, that’s a thing), a broccoli that grows tiny purple "roses" (also real!), and a handful of celery plants. In the video, I show them all off along with a new self-watering gadget I’m trying out. Fingers crossed it actually works and helps the new hibiscus settle in and groooow big and happy! See you next time: probably on Saturday, since it's going to be a full-on garden hustle day!

  14. 2

    tibfox - 1000013758.mp4

    https://3speak.tv/watch?v=tibfox/avupkkqouh tibfox - 1000013758.mp4

  15. 1

    Hive Creator Days is over - I am about to start!

    https://3speak.tv/watch?v=tibfox/gzcyohho In this video, I share some reflections on the Hive Creator Days in Graz last weekend. Short: I am proud of myself and happy for the opportunity to meet so many fascinating people. Some I had already met in person and was able to deepen those connections, while others are exciting new additions to my feed! If you want to rewatch the live stream of the event (there are long breaks in between), then follow this link! If you want to get a general feel of what happened, then I highly recommend that you check posts with #hivecreatordays and/or #hcdgraz as tags. @reiseamateur @solarwarrior @ynwa.andree @growandbow @llunasoul @honeydue @elmirabear @ninaeatshere @ph1102 @mipiano @edje @livinguktaiwan @bil.prag @godfish @tinabrezpike @marjanko @masterswatch @minigunner @dovycola @alessandrawhite @bitterirony @seckorama @akipponn @dobranoc @gandalf @quekery @jocieprosza @asia-pl @cryptospa @themyscira @lukas1998 See you soon!There's a little spoiler in the video - where we can meet again (when all goes well)

  16. 0

    My 1st #CleanPlanet Walk in 2025

    https://3speak.tv/watch?v=tibfox/zdyuxdxyjm Hey dear Hivers and Eco-Citizens around the globe, Today I felt the call of nature - not just to enjoy it, but to care for it. So I grabbed my trusty trash claw, scribbled my name and the date on a recycled bag, and stepped out for a refreshing 20-minute #cleanplanet walk through a local park here in Hamburg. Mission: Clean a little. Feel a lot. With minimal effort (thanks, claw!), I collected all kinds of litter — plastic straws, bottle caps, booze bottles, cans, and even… a whole mini grill setup? Yep. Someone left their BBQ party behind, complete with greasy paper towels. Gross, but hey, glad I could step in before an animal stumbled on it. A little encounter, a big ripple: Mid-walk, I met a young dad and his curious son. They noticed what I was up to, asked a few questions, and - boom - I introduced them to Hive, the CleanPlanet project, and the power of a simple claw. They left inspired (and heading to buy their own claw). While I walked, I thought… Birds are nesting and raising chicks right now. The idea that their babies might be fed bits of plastic instead of worms is heartbreaking. It reminded me why I do this. We can’t fix everything, but we can choose to be part of the solution. The truth is: Our park is usually kept pretty clean by the city, but this walk showed me there’s always work to be done — and doing it made me feel amazing. My mood? Boosted. My self-confidence? Recharged. And the best part? This was just my first cleanplanet walk of 2025 - and I'm ready to make it a regular ritual again. Back in 2018-2020 I did many cleanplanet walks but somehow I lost the track. Now I am back :) Bonus win: I inspired a future eco-duo. One small act, one new ripple. Looking forward to the big CleanPlanet walk in Graz next week with many fellow Hivers! Huge thanks to @yann0975 and the whole @cleanplanet team. You’re changing lives - and landscapes. Want to join the movement? It’s easy! How to do your own #cleanplanet walk: Go outside and collect some litter Take a few photos (or a short video) of your walk Show the date and your identity (a selfie works of course!) Upload your post on Hive using the tag #cleanplanet Let’s make this planet a cleaner, kinder place - one walk at a time. See you out there, fellow eco-citizens! [//]:# (!worldmappin 53.56720 lat 10.05353 long Jacobi Park d3scr)Uploaded using 3Speak Mobile App

Type above to search every episode's transcript for a word or phrase. Matches are scoped to this podcast.

Searching…

We're indexing this podcast's transcripts for the first time — this can take a minute or two. We'll show results as soon as they're ready.

No matches for "" in this podcast's transcripts.

Showing of matches

No topics indexed yet for this podcast.

Loading reviews...

ABOUT THIS SHOW

Listen and watch the latest videos from tibfox. Hosted by 3Speak.tv. The free speech video platform on the HIVE blockchain.

HOSTED BY

t̷i̷b̷f̷o̷x̷

Frequently Asked Questions

How many episodes does tibfox 3Speak Podcast have?

tibfox 3Speak Podcast currently has 16 episodes available on PodParley. New episodes are automatically indexed when they're published to the podcast feed.

What is tibfox 3Speak Podcast about?

Listen and watch the latest videos from tibfox. Hosted by 3Speak.tv. The free speech video platform on the HIVE blockchain.

How often does tibfox 3Speak Podcast release new episodes?

tibfox 3Speak Podcast has 16 episodes. Check the episode list to see recent publication dates and frequency.

Where can I listen to tibfox 3Speak Podcast?

You can listen to tibfox 3Speak Podcast on PodParley by clicking any episode. We provide an embedded audio player for direct listening, and you can also subscribe via your preferred podcast app using the RSS feed.

Who hosts tibfox 3Speak Podcast?

tibfox 3Speak Podcast is created and hosted by t̷i̷b̷f̷o̷x̷.
URL copied to clipboard!