Наверняка вы замечали, что в Python есть удобная функция для получения переменной окружения
os.getenv(NAME)
И её "сестра" для создания или изменения переменных окружения
os.putenv(NAME, VALUE)
Но почему-то putenv() не работает как должно. Энвайромент не обновляется!
os.putenv('MYVAR', '1')
print(os.getenv('MYVAR'))
... и ничего 😴
Почему так?
На самом деле энвайромент обновляется, но это значение не добавляется в словарь os.environ.
Откройте исходник функции os.getenv(). Это просто шорткат для os.environ.get()
В то время как putenv() это built-in С-функция.
Словарь os.environ (или точней класс из MutableMapping) создаётся из энвайромента в момент инициализации. Функция putenv() самостоятельно его не изменяет.
В тоже время, когда вы создаёте или изменяете ключ в os.environ, автоматически вызывается putenv() в методе __setitem__().
То есть, технически putenv() всё делает верно, но в os.environ это не отражается. Можно проверить так:
>>> os.putenv('MYVAR', '123')
>>> os.system('python -c "import os;print(os.getenv(\'MYVAR\'))"')
123
Я объявил переменную в текущем процессе и вызвал дочерний процесс, который её унаследовал и получил в составе os.environ.
Аналогично при удалении переменной вызывается еще одна built-in функция unsetenv(), удаляющая переменную из системы.
Итого
▫️ Удобней всего явно обновлять переменные через os.environ
▫️ Есть способ неявно создать/удалить переменную через putenv/unsetenv, что не повлияет на os.environ но изменит энвайромент и передаст изменения сабпроцессам. Но так лучше не делать!
▫️os.environ это просто обертка для built-in функций putenv() и unsetenv().
#basic
A wallet linked to Joseph Lubin (@ethereumJoseph), Co-Founder of @ethereum and Founder of @Consensys, supplied 15,000 $ETH ($31.43M) to #MakerDAO and borrowed $4.1M $DAI.
In total, the wallet holds 137,908 $ETH ($287.29M) and has borrowed $107.77M $DAI.
https://intel.arkm.com/explorer/address/0xABED497D0CCB6916C95Dd98aD4402fEBf5f52FE7
https://x.com/OnchainLens/status/2019298159550427171
Follow @onchainlens for more onchain updates
Wallet 0xa58 (linked to Rune Christensen, #MakerDAO cofounder) has sold 2,235 $MKR for 4.542M $DAI at $2,032 on average in the past 2 days.
Currently, the wallet still holds 2,430 $MKR ($4.92M), and may keep selling.
The $MKR price has been down ~3.39% (2D), since the first sale.
Want to monitor the wallet, follow @spotonchain and turn on your 🔔 at https://platform.spotonchain.ai/en/profile?address=0xa5890ccd2359dc38f649158abdc24b62602dec68
🚨 A super early $MKR holder has sold after over 7 years!
- This holder bought 451.5 old $MKR in 2017 when the price was around $23 (the inception of $MKR)
- This holder just sold 251.5 $MKR ($408K) for 172.5 $ETH ~5 hours ago at $1,624 (x70)
#MakerDAO is down 24% since the rebrand to #Sky, partly due to market conditions and the criticism over its "freeze function".
👉 More Details: platform.spotonchain.ai/signal-details/super-early-holder-sold-the-first-25153-mkr-408k-after-over-7-years-168917
The $SHIB price soared over 50% (24H). What happened on-chain in the past 3 days leading to the pump?
1. Smart trader 0x37d withdrew 75.91B $SHIB (currently $1.51M) from #Binance 2 days ago before the pump, now making $614K (+69%).
👉 Address: 0x37dffd32ea5b23813a263f725759632c120e0ac7
2. #MakerDAO founder @RuneKek bought 7.41B $SHIB with 100K $USDC, allegedly for the first time 13 hours ago, now making $47.1K (+47.1%).
👉 Entity: Rune Christensen (MakerDAO founder)
3. Wallet 0x02e related to #Upbit has accumulated 2.13T $SHIB (now $42.3M) in the past 24 hours.
• Currently, the wallet is the 7th largest-holding wallet of $SHIB with 12.45T $SHIB ($247M).
👉 Address: 0x02e2201576fbbefb52812f2ee7f08eb4774b481e
Don’t forget to follow @spotonchain and turn on your alerts for more updates on $SHIB.
The $MKR price is surging for the second time, as affected by the #Endgame Launch announcement from #MakerDAO.
Whale 0xcf9 spent 1.94M $USDT to buy 702.8 $MKR at ~$2,763 around 30 mins ago.
👉 Address: 0xcf9bfaf7e7ed48d85f2487b8fed07852a5e93ad1
Moreover, the founder of MakerDAO, Rune Christensen (@RuneKek), also spent $4.57M to buy 1,967 $MKR at ~$2,324 in the past 7 days, now making $1.02M (+22.3%).
👉 Entity: Rune Christensen (MakerDAO founder)
Follow @spotonchain and turn on your 🔔 at the above addresses for more updates!
🗣 Новый день, новый Governance Voting в котором я принимаю участие, прокачивая свои DAO скиллы и неся свободу и децентрализацию в наш бренный #Web3 мир. Этот 2023 год можно точно назвать #bullrun для всех децентрализованных protocol governance и #DAO. Вся интеллектуальная активность в сети, аирдропы и пользователи сейчас здесь.
База: большие протоколы/блокчейны управляются сообществом владельцев токенов и их делегатами. Делегат - это пользователь (кошелек) у которого может и не быть токенов протокола, но он получил делегацию "голосов" от других участников и может теперь представлять их интересы при голосовании за предложения (чем-то похоже на депутата от народа).
Процесс #DAO следующий:
- активный участник делает детальное предложение и выносит его на обсуждение. Место: форум проекта.
- после обсуждения проекта, предложение выносится на голосование оффчейн (без проведения транзакции, а только с помощью отправки подписи). Место: snapshot.org
- после принятие предложения на snapshot оно переносится уже на onchain голосование и после исполняется. Место: tally.xyz
Основные задачи управления ДАО - это обновление протокола (экономические параметры), перенос протокола на новую сеть (лицензионные параметры), управление казначейством (распределение нажитого имущества или токенов проекта в целях поощрения сообщества протокола). В частных случаях это еще и координация управления операционной, юридической и политической активностью протокола.
Список #DAO в которых я не последний человек принимаю участие:
- Uniswap $UNI - Forum / Snapshot [treasury - $1.5B]
- Arbitrum $ARB - Forum / Snapshot [treasury - $2.8B]
- Optimism $OP - Forum / Snapshot [treasury - $1.5B]
- Frax $FXS - Forum / Snapshot [mcap - $1.4B]
Далее в моем списке: #Lido, #AAVE, #Straknet, #MakerDAO
… [ч1] продолжение в следующем посте 🟢